Главная страница
Навигация по странице:

  • Подготовка дисков

  • Создание блочных bacstore

  • backstores/block create reco_01 /dev/vlg-asm/lv_reco1

  • Создание ISCSI target Для создания таргета по умолчанию можно выполнить /iscsi create

  • Курсовая работа БД.. РГР. Расчетнографическая работа по дисциплине системное администрирование


    Скачать 94.5 Kb.
    НазваниеРасчетнографическая работа по дисциплине системное администрирование
    АнкорКурсовая работа БД
    Дата24.05.2023
    Размер94.5 Kb.
    Формат файлаdocx
    Имя файлаРГР.docx
    ТипДокументы
    #1156306



    РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА
    ПО ДИСЦИПЛИНЕ «СИСТЕМНОЕ АДМИНИСТРИРОВАНИЕ»


    Факультет: АВТ Преподаватель: Менжулин С.А.

    Группа: АВТ-709

    Студенты:

    Кузнецов А.В., Шабанов М.Г.

    Настройка iSCSI сервера на CentOS 7

    Теоретическая часть


    Targetcli на CentOS 7 представляет таргет в виде иерархически построенной структуры. И делит таргет на back-end и front-end части. Backstores – это back-end, fabric module – это front-end. Backstores – это всегда один раздел в иерархии targetcli, внутри которого отображаются хранилища в виде объектов, в то время как fabric module может быть не один – в нём содержатся различные настройки видимой снаружи части таргета. Существует несколько типов fabric module: Fibre Channel over Ethernet (FCoE), Fibre Channel, IEEE 1394, iSCSI, iSCSI Extensions for RDMA (iSER), SCSI RDMA Protocol (SRP), USB Gadget, Loopback.

    Backstores – это раздел, в котором отображаются объекты-хранилища. Backstores – не видимая снаружи часть iSCSI таргета.

    Block – жесткий диск, символические ссылки на диск или LVM.

    Fileio – файл.

    PSCSI (SCSI pass-through) – любое устройство для хранения информации, поддерживающее SCSI команды напрямую, то есть без эмуляции SCSI. Этот бэкстор не нужно использовать, так это как может привести к повреждениям железа.

    Ramdisk – RAM-диск.

    iSCSI – это fabric module, видимая снаружи часть iSCSI таргета. Он содержит список таргетов, лунов, права доступа и т.п.

    Loopback – ещё один fabric module, который дает доступ к таргету локально.

    Ход работы


    Установка

    yum install -y targetcli

    Добавляем в автостарт и запускаем

    systemctl enable targetsystemctl start target

    Теперь перейдем в сам targetcli и выйдем, основными командами внутри будут cd, ls, help. Утилита автоматическисохраняет конфиг и бекап.

    targetcli
    Warning: Could not load preferences file /root/.targetcli/prefs.bin.
    targetcli shell version 2.1.fb46
    Copyright 2011-2013 by Datera, Inc and others.
    For help on commands, type ‘help’.


    /> exit
    Global pref auto_save_on_exit=true
    Last 10 configs saved in /etc/target/backup.
    Configuration saved to /etc/target/saveconfig.json 

    Подготовка дисков

    Существует возможность отдавать как диск целиком — условный /dev/sd* так и конкретный lvm диск, В нашем примере мы имеем 8Тб диск, по этому пойдем по пути выдачи LVM дисков. В нашем примере, указанные диски будут использоваться как ASM диски на сервере Oracle

    Смотрим нужный нам диск, это /dev/sdb

    [root@fileserver ]# fdisk -l | grep sd
    WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
    Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
    Disk /dev/sdb: 8796.1 GB, 8796093022208 bytes, 17179869184 sectors


    Создадим партицию, после чего volume нужного объема. Отдельно отмечу, что для volume мы будем использовать ключ -s, явно задавая размер блока для расширения.

    Мы создадим

    2x450Gb disk for asm_dg_svfe

    2×200 disk for asm_dg_reco

    смотрим

    [root@fileserver ]# pvcreate /dev/sdb
    Physical volume «/dev/sdb» successfully created.
    [root@fileserver ]# vgcreate -s 64M vlg-asm /dev/sdb
    Volume group «vlg-asm» successfully created
    [root@fileserver ]# lvcreate -L 200G -n lv_reco1 vlg-asm
    Logical volume «lv_reco1» created.
    [root@fileserver ]# lvcreate -L 200G -n lv_reco2 vlg-asm
    Logical volume «lv_reco2» created.
    [root@fileserver ]# lvcreate -L 450G -n lv_svfe1 vlg-asm
    Logical volume «lv_svfe1» created.
    [root@fileserver ]# lvcreate -L 450G -n lv_svfe2 vlg-asm
    Logical volume «lv_svfe2» created.
    [root@fileserver ]# lvscan
    ACTIVE ‘/dev/centos/swap’ [3.75 GiB] inherit
    ACTIVE ‘/dev/centos/root’ [<45.05 GiB] inherit
    ACTIVE ‘/dev/vlg-asm/lv_reco1’ [200.00 GiB] inherit
    ACTIVE ‘/dev/vlg-asm/lv_reco2’ [200.00 GiB] inherit
    ACTIVE ‘/dev/vlg-asm/lv_svfe1’ [450.00 GiB] inherit
    ACTIVE ‘/dev/vlg-asm/lv_svfe2’ [450.00 GiB] inherit
     

    Создание блочных bacstore

    Входим, убеждаемся, что мы находимся по пути / и видим, что ничего еще нет

    [root@fileserver ]# targetcli
    targetcli shell version 2.1.fb46
    Copyright 2011-2013 by Datera, Inc and others.
    For help on commands, type ‘help’.


    /> ls
    o- / …………………………………………………………………………………………………………. […]
    o- backstores ……………………………………………………………………………………………….. […]
    | o- block …………………………………………………………………………………….. [Storage Objects: 0]
    | o- fileio ……………………………………………………………………………………. [Storage Objects: 0]
    | o- pscsi …………………………………………………………………………………….. [Storage Objects: 0]
    | o- ramdisk …………………………………………………………………………………… [Storage Objects: 0]
    o- iscsi ……………………………………………………………………………………………… [Targets: 0]
    o- loopback …………………………………………………………………………………………… [Targets: 0]
    />
     

    Создаем bacstore, пример команды backstores/block create reco_01 /dev/vlg-asm/lv_reco1

    /> /backstores/block create reco_01 /dev/vlg-asm/lv_reco1
    Created block storage object reco_01 using /dev/vlg-asm/lv_reco1.
    /> /backstores/block create reco_02 /dev/vlg-asm/lv_reco2
    Created block storage object reco_02 using /dev/vlg-asm/lv_reco2.
    /> /backstores/block create svfe_01 /dev/vlg-asm/lv_svfe1
    Created block storage object svfe_01 using /dev/vlg-asm/lv_svfe1.
    /> /backstores/block create svfe_02 /dev/vlg-asm/lv_svfe2
    Created block storage object svfe_02 using /dev/vlg-asm/lv_svfe2.
    /> ls
    o- / …………………………………………………………………………………………………………. […]
    o- backstores ……………………………………………………………………………………………….. […]
    | o- block …………………………………………………………………………………….. [Storage Objects: 4]
    | | o- reco_01 ………………………………………………… [/dev/vlg-asm/lv_reco1 (200.0GiB) write-thru deactivated]
    | | | o- alua ……………………………………………………………………………………… [ALUA Groups: 1]
    | | | o- default_tg_pt_gp …………………………………………………………….. [ALUA state: Active/optimized]
    | | o- reco_02 ………………………………………………… [/dev/vlg-asm/lv_reco2 (200.0GiB) write-thru deactivated]
    | | | o- alua ……………………………………………………………………………………… [ALUA Groups: 1]
    | | | o- default_tg_pt_gp …………………………………………………………….. [ALUA state: Active/optimized]
    | | o- svfe_01 ………………………………………………… [/dev/vlg-asm/lv_svfe1 (450.0GiB) write-thru deactivated]
    | | | o- alua ……………………………………………………………………………………… [ALUA Groups: 1]
    | | | o- default_tg_pt_gp …………………………………………………………….. [ALUA state: Active/optimized]
    | | o- svfe_02 ………………………………………………… [/dev/vlg-asm/lv_svfe2 (450.0GiB) write-thru deactivated]
    | | o- alua ……………………………………………………………………………………… [ALUA Groups: 1]
    | | o- default_tg_pt_gp …………………………………………………………….. [ALUA state: Active/optimized]
    | o- fileio ……………………………………………………………………………………. [Storage Objects: 0]
    | o- pscsi …………………………………………………………………………………….. [Storage Objects: 0]
    | o- ramdisk …………………………………………………………………………………… [Storage Objects: 0]
    o- iscsi ………………………………………………………………………………………………
    [Targets: 0]
    o- loopback …………………………………………………………………………………………… 


    Создание ISCSI target

    Для создания таргета по умолчанию можно выполнить /iscsi create, если мы хотим явно задать имя, а мы хотим то формат следующий

    iscsi/ create iqn.2017-12.com.example:asm-target1

     /> iscsi/ create iqn.2017-12.com.example:asm-target1
    Created target iqn.2017-12.com.example:asm-target1.
    Created TPG 1.
    Global pref auto_add_default_portal=true
    Created default portal listening on all IPs (0.0.0.0), port 3260.
    /> ls
    o- / …………………………………………………………………………………………………………. […]
    o- backstores ……………………………………………………………………………………………….. […]
    | o- block …………………………………………………………………………………….. [Storage Objects: 4]
    | | o- reco_01 ………………………………………………… [/dev/vlg-asm/lv_reco1 (200.0GiB) write-thru deactivated]
    | | | o- alua ……………………………………………………………………………………… [ALUA Groups: 1]
    | | | o- default_tg_pt_gp …………………………………………………………….. [ALUA state: Active/optimized]
    | | o- reco_02 ………………………………………………… [/dev/vlg-asm/lv_reco2 (200.0GiB) write-thru deactivated]
    | | | o- alua ……………………………………………………………………………………… [ALUA Groups: 1]
    | | | o- default_tg_pt_gp …………………………………………………………….. [ALUA state: Active/optimized]
    | | o- svfe_01 ………………………………………………… [/dev/vlg-asm/lv_svfe1 (450.0GiB) write-thru deactivated]
    | | | o- alua ……………………………………………………………………………………… [ALUA Groups: 1]
    | | | o- default_tg_pt_gp …………………………………………………………….. [ALUA state: Active/optimized]
    | | o- svfe_02 ………………………………………………… [/dev/vlg-asm/lv_svfe2 (450.0GiB) write-thru deactivated]
    | | o- alua ……………………………………………………………………………………… [ALUA Groups: 1]
    | | o- default_tg_pt_gp …………………………………………………………….. [ALUA state: Active/optimized]
    | o- fileio ……………………………………………………………………………………. [Storage Objects: 0]
    | o- pscsi …………………………………………………………………………………….. [Storage Objects: 0]
    | o- ramdisk …………………………………………………………………………………… [Storage Objects: 0]
    o- iscsi ……………………………………………………………………………………………… [Targets: 1]
    | o- iqn.2017-12.com.example:asm-target1 ……………………………………………………………………. [TPGs: 1]
    | o- tpg1 ………………………………………………………………………………….. [no-gen-acls, no-auth]
    | o- acls ……………………………………………………………………………………………. [ACLs: 0]
    | o- luns …………………………………………………………………………………………….
    [LUNs: 0]
    | o- portals ………………………………………………………………………………………. [Portals: 1]
    | o- 0.0.0.0:3260 ……………………………………………………………………………………….. [OK]
    o- loopback …………………………………………………………………………………………… [Targets 


    В итоге мы создали таргет с именем iqn.2017-12.com.example:asm-target1 который будет принимать подключения к порталу на 0.0.0.0:3260 (при необходимости можно изменить)

    Так же надо не забыть открытьдоступ на firewall для подключения по порту tcp 3260

     iptables -L -v -n | grep 3260

    1    60 ACCEPT     tcp  —  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3260 

    Внутри iscsi можно видеть структуру. Первый элемент – имя таргета. Ниже по иерархии tpg1 расшифровывается как Target Portal Group – список IP-адресов и TCP портов, которые будет слушать этот таргет. Дальше идут acl – список адресов, с которых можно будет подключиться к таргету, luns – список лунов, portals – список IP-адресов и портов, которые будет слушать таргет. 

    Перейти в иерархии targetcli на уровень tpg1 и установить параметры авторизации
    cd
    — используя стрелки для навигации по иерархии, переместиться на уровень tpg1 —
    set parameter AuthMethod=None
    set attribute authentication=0



     

    /> cd

    /iscsi/iqn.20…-target1/tpg1> set parameter AuthMethod=None
    Parameter AuthMethod is now ‘None’.
    /iscsi/iqn.20…-target1/tpg1> set attribute authentication=0
    Parameter authentication is now ‘0’.
    /iscsi/iqn.20…-target1/tpg1> ls
    o- tpg1 ……………………………………………………………………………………….. [no-gen-acls, no-auth]
    o- acls …………………………………………………………………………………………………. [ACLs: 0]
    o- luns …………………………………………………………………………………………………. [LUNs: 0]
    o- portals ……………………………………………………………………………………………. [Portals: 1]
    o- 0.0.0.0:3260 ……………………………………………………………………………………………..
    [OK]
    /
    iscsi/iqn.20…-target1/tpg1>

     

    Далее мы должны настроить ACL, кому разрешаем подключаться к нашему target, выяснить это можно, прочитав на клиенте

    [root@CLIENT]# cat /etc/iscsi/initiatorname.iscsiInitiatorName=iqn.2017-12.ru.example:5ba056da81cf 

    Далее на сервере iscsi выполним acls/ create iqn.2017-12.ru.example:5ba056da81cf

    /iscsi/iqn.20…-target1/tpg1> acls/ create iqn.2017-12.ru.example:5ba056da81cf
    Created Node ACL for iqn.2017-12.ru.example:5ba056da81cf
    Created mapped LUN 0.


    Вывод

    /iscsi/iqn.20…-target1/tpg1> ls
    o- tpg1 ……………………………………………………………………………………….. [no-gen-acls, no-auth]
    o- acls …………………………………………………………………………………………………. [ACLs: 1]
    | o- iqn.2017-12.ru.example:5ba056da81cf ……………………………………………………………… [Mapped LUNs: 0]
    o- luns …………………………………………………………………………………………………. [LUNs: 0]
    o- portals ……………………………………………………………………………………………. [Portals: 1]
    o- 0.0.0.0:3260 …………………………………………………………………………………………….. [OK] 


    Теперь пора его подключать luns/ create /backstores/block/test01

    /iscsi/iqn.20…-target1/tpg1> luns/ create /backstores/block/test01
    Created LUN 0.
    Created LUN 0->0 mapping in node ACL iqn.2017-12.ru.example:5ba056da81cf
    /iscsi/iqn.20…-target1/tpg1> ls
    o- tpg1 ……………………………………………………………………………………….. [no-gen-acls, no-auth]
    o- acls …………………………………………………………………………………………………. [ACLs: 1]
    | o- iqn.2017-12.ru.example:5ba056da81cf ……………………………………………………………… [Mapped LUNs: 1]
    | o- mapped_lun0 ………………………………………………………………………….. [lun0 block/test01 (rw)]
    o- luns …………………………………………………………………………………………………. [LUNs: 1]
    | o- lun0 ……………………………………………………… [block/test01 (/dev/vlg-asm/lv_test) (default_tg_pt_gp)]
    o- portals ……………………………………………………………………………………………. [Portals: 0]


    так же создаем портал portals/ create 0.0.0.0

    /iscsi/iqn.20…-target1/tpg1> portals/ create 0.0.0.0
    Using default IP port 3260
    Binding to INADDR_ANY (0.0.0.0)
    Created network portal 0.0.0.0:3260.
    /iscsi/iqn.20…-target1/tpg1> ls
    o- tpg1 ……………………………………………………………………………………….. [no-gen-acls, no-auth]
    o- acls …………………………………………………………………………………………………. [ACLs: 1]
    | o- iqn.2017-12.ru.example:5ba056da81cf ……………………………………………………………… [Mapped LUNs: 1]
    | o- mapped_lun0 ………………………………………………………………………….. [lun0 block/test01 (rw)]
    o- luns …………………………………………………………………………………………………. [LUNs: 1]
    | o- lun0 ……………………………………………………… [block/test01 (/dev/vlg-asm/lv_test) (default_tg_pt_gp)]
    o- portals ……………………………………………………………………………………………. [Portals: 1]
    o- 0.0.0.0:3260 …………………………………………………………………………………………….. [OK]
    /iscsi/iqn.20…-target1/tpg1>


    и подключил его, вывод команды ls

    iscsi/iqn.20…-target1/tpg1> ls
    o- tpg1 ……………………………………………………………………………………….. [no-gen-acls, no-auth]
    o- acls …………………………………………………………………………………………………. [ACLs: 1]
    | o- iqn.2017-12.ru.example:5ba056da81cf ……………………………………………………………… [Mapped LUNs: 1]
    | o- mapped_lun0 ………………………………………………………………………….. [lun0 block/test01 (rw)]
    o- luns …………………………………………………………………………………………………. [LUNs: 1]
    | o- lun0 ……………………………………………………… [block/test01 (/dev/vlg-asm/lv_test) (default_tg_pt_gp)]
    o- portals …………………………………………………………………………………………….
    [Portals: 1]
    o- 0.0.0.0:3260 …………………………………………………………………………………………….. [OK]


    Хорошим тоном будет сохранить конфиг явно, хоть он и сохраняется по умолчанию

    /iscsi/iqn.20…-target1/tpg1> cd /
    /> saveconfig
    Last 10 configs saved in /etc/target/backup.
    Configuration saved to /etc/target/saveconfig.json

    Выводы


    В ходе выполнения расчетно-графического задания на виртуальную машину была установлена CentOS 7. На ней был настроен ISCSI target. Существует известная проблема, если по каким-либо причинам во время ребута не будет доступен target, то загрузка зависнет на шаге ожидания iscsi device. Проблема решается переходом в single mode и удалением сбойного таргета.



    написать администратору сайта