Основи на iSCSI:
iSCSI сървърът за съхранение се използва за споделяне на блокови устройства като HDD / SSD дялове или LVM дялове или за блокиране на файлове в мрежата. iSCSI клиентите могат да използват тези споделяния в мрежата, точно както всеки обикновен HDD или SSD, монтиран към него. Клиентът iSCSI може да форматира тези дискове, да ги монтира и да съхранява файлове и директории както обикновено.
Фигура 1: Архитектура iSCSI сървър-клиент
Всеки iSCSI клиент има инициатор ID, който се използва за свързване към целите на сървъра.
Целите са споделяния на iSCSI сървъра. Всяка цел се състои от уникално име (IQN), пътя на блоковото устройство (т.е.д. диск дял или блок файл), инициатор ID, който може да се свърже с тази цел и незадължителна система за удостоверяване, базирана на потребителско име и парола.
На фигура 1 iSCSI сървърът за съхранение позволява на 3 инициатора (3 iSCSI клиенти) да се свържат с 4 цели. инициатор01 може да се свърже с цел01 и цел02, инициатор 02 може да се свърже с цел03, и инициатор 03 може да се свърже с цел04.
Конвенции за имена на iSCSI за целеви и инициатори:
Името на iSCSI и името на инициатора трябва да са уникални.
Целевият формат за именуване е:
iqn.ГГГГ-ММ.име на обратен домейн: име на целПример:
iqn.2020-03.com.linuxhint: www, iqn.2020-03.com.linuxhint: дневници,iqn.2020-03.com.linuxhint: user-bob и т.н.
Форматът за именуване на инициатора е:
iqn.ГГГГ-ММ.reverse-domain-name: име на инициаторПример:
iqn.2020-03.com.linuxhint: Initiator01, iqn.2020-03.com.linuxhint: Initiator02,iqn.2020-03.com.linuxhint: Initiator03 и т.н.
Мрежова топология:
Фигура 2: Мрежова топология, използвана в тази статия за iSCSI сървър
Топологията на мрежата, използвана в тази статия, е дадена на фигура 2. Тук ще конфигурирам машина CentOS 8 като iSCSI сървър. ISCSI сървърът има статичен IP адрес 192.168.20.197. Клиентът iSCSI също е в мрежата 192.168.20.0/24. Така че той може да има достъп до iSCSI сървъра.
Настройване на статичен IP адрес:
Трябва да настроите статичен IP адрес на вашата машина CentOS 8, който ще конфигурирате като iSCSI сървър. За да настроите статичен IP адрес на CentOS 8, проверете статията ми Конфигуриране на статичен IP на CentOS 8.
Устройството CentOS 8, което ще конфигурирам като iSCSI сървър в тази статия, има статичен IP адрес 192.168.20.197. За вас ще е различно. Така че, не забравяйте да го замените от сега нататък.
$ ip a
Инсталиране на iSCSI сървърни инструменти:
Първо актуализирайте кеша на хранилището на DNF, както следва:
$ sudo dnf makecache
Трябва да имаш targetcli инструмент, инсталиран на машината CentOS 8, който искате да конфигурирате като iSCSI сървър.
Да инсталираш targetcli, изпълнете следната команда:
$ sudo dnf инсталира targetcli
За да потвърдите инсталацията, натиснете Y и след това натиснете
targetcli трябва да се инсталира.
Сега, за да проверите дали targetcli инструментът работи, започнете targetcli както следва:
$ sudo targetcli
targetcli трябва да започне.
targetcli работи перфектно.
> ls
Сега излезте от инструмента targetcli.
> излез
Сега започнете мишена услуга, както следва:
$ sudo systemctl начална цел
Сега добавете целевата услуга към стартирането на системата, както следва:
$ sudo systemctl активира целта
Споделяне на файлови блокове:
Можете да споделяте файлови блокове като устройства за съхранение чрез iSCSI.
Първо, създайте нова директория, в която искате да запазите всички файлови блокове, както следва:
$ sudo mkdir -pv / iscsi / блокира
Сега започнете targetcli, както следва:
$ sudo targetcli
Сега създайте нов 1 GB fileio backstore web1 по пътя / iscsi / blocks / web1.img както следва:
> / backstores / fileio създава web1 / iscsi / blocks / web1.img 1G
Файловият блок web1 1GB трябва да бъде създаден в пътя / iscsi / blocks / web1.img
> ls /
Сега създайте нова цел на iSCSI iqn.2020-03.com.linuxhint: уеб както следва:
> / iscsi създава iqn.2020-03.com.linuxhint: уеб
Целта на iSCSI iqn.2020-03.com.linuxhint: уеб трябва да се създаде.
> ls /
Сега отидете до целевата TPG (Target Portal Group), както следва:
> / iscsi / iqn.2020-03.com.linuxhint: web / tpg1 /
Ето как трябва да изглежда TPG на целта.
> ls
Сега създайте LUN от web1 fileio backstore, който сте създали по-рано.
> luns / create / backstores / fileio / web1
LUN 0 трябва да бъде създаден.
> ls
Сега създайте ACL за инициатора iqn.2020-03.com.linuxhint: init1 така че iSCSI клиентът да има достъп до LUNS в тази цел.
> acls / създайте iqn.2020-03.com.linuxhint: init1
Трябва да се създаде ACL и LUN 0 да се прикачи към него.
> ls
Сега запазете конфигурацията.
> / saveconfig
Сега излезте от интерфейса targetcli.
> излез
Споделяне на HDD / SSD или HDD / SSD дялове:
Можете също да споделите целия HDD / SSD или един или повече HDD / SSD дял чрез iSCSI. Ако споделите целия HDD / SSD, дяловете на този HDD / SSD също ще бъдат достъпни от инициатора или iSCSI клиента.
Първо намерете името на HDD / SSD или името на дяла на HDD / SSD, което искате да споделите със следната команда:
$ sudo lsblkТук, nvme0n2 е името на SSD и nvme0n2p1, nvme0n2p2 и nvme0n2p3 са дяловете на този SSD.
Сега започнете targetcli, както следва:
$ sudo targetcli
Сега създайте блоково хранилище данни1 използване на HDD / SSD или HDD / SSD дял, както следва.
> / backstores / block create data1 / dev / nvme0n2p1ЗАБЕЛЕЖКА: Тук използвах SSD дяла / dev / nvme0n2p1.
The данни1 блок backstore трябва да бъде създаден.
> ls /
Сега създайте нова цел на iSCSI iqn.2020-03.com.linuxhint: данни както следва:
> / iscsi / създайте iqn.2020-03.com.linuxhint: данни
Трябва да се създаде нова цел на iSCSI.
> ls /
Сега отидете до TPG на целта, както следва:
> / iscsi / iqn.2020-03.com.linuxhint: data / tpg1 /
TPG на целта трябва да изглежда както следва.
> ls
Сега създайте нов LUN от данни1 блокирайте хранилището, което сте създали по-рано.
> luns / create / backstores / block / data1
Трябва да се създаде нов LUN.
> ls
Сега създайте ACL за инициатора iqn.2020-03.com.linuxhint: init1 така че iSCSI клиентът да има достъп до LUNS в тази цел.
> acls / създайте iqn.2020-03.com.linuxhint: init1
Трябва да се създаде ACL и LUN 0 да се отнесе към него.
> ls
Сега запазете конфигурацията.
> / saveconfig
Сега излезте от интерфейса targetcli.
> излез
Конфигуриране на защитна стена:
Сега разрешете достъп до iSCSI порт 3260 през защитната стена, както следва:
$ sudo firewall-cmd --add-service = iscsi-target --permanent
За да влязат в сила промените, изпълнете следната команда:
$ sudo firewall-cmd --reload
Инсталиране на iSCSI клиентски инструменти:
На iSCSI клиента трябва да имате iscsi-инициатор-утили пакет, инсталиран за достъп до споделените iSCSI устройства за съхранение.
Първо актуализирайте кеша на хранилището на DNF, както следва:
$ sudo dnf makecache
Сега инсталирайте iscsi-инициатор-утили пакет на клиентската машина, както следва:
$ sudo dnf инсталира iscsi-initiator-utils
За да потвърдите инсталацията, натиснете Y и след това натиснете
iSCSI клиентски помощни програми трябва да бъдат инсталирани.
Сега отворете / etc / iscsi / ime на инициатора.iscsi конфигурационен файл, както следва:
$ sudo vi / etc / iscsi / ime на инициатора.iscsi
Сега задайте името на вашия инициатор на InitiatorName и запазете файла.
Сега сканирайте за целите, както следва:
$ sudo iscsiadm -m discovery -t sendtargets -p 192.168.20.197
Сега можете да влезете в целите, както следва:
$ sudo iscsiadm -m възел --login
Устройствата за съхранение iSCSI трябва да бъдат прикрепени към вашия клиент, както можете да видите на екранната снимка по-долу.
$ sudo lsblk
Сега започнете iscsi и iscsid услуги, както следва:
$ sudo systemctl start iscsi$ sudo systemctl стартира iscsid
The iscsi и iscsid услугите трябва да работят.
$ sudo systemctl статус iscsi iscsid
Сега добавете iscsi и iscsid услуга за стартиране на системата, както следва:
$ sudo systemctl активира iscsi$ sudo systemctl активира iscsid
Монтиране на iSCSI диск:
Можете да монтирате iSCSI дисковете за постоянно на iSCSI клиента с помощта на / и т.н. / fstab файл.
Първо, форматирайте iSCSI диска, ако още не е форматиран.
$ sudo mkfs.ext4 -L данни / dev / sda
Сега създайте директория (точка на монтиране) за iSCSI диска, както следва:
$ sudo mkdir / данни
Сега намерете UUID на iSCSI диска, който искате да монтирате, както следва:
$ sudo blkidUUID в моя случай е c1cbfa44-a8a9-4343-a88e-769b63a6e006. За вас ще е различно. Така че, не забравяйте да го замените с вашия в / и т.н. / fstab файл.
Сега отворете / и т.н. / fstab файл, както следва:
$ sudo vi / etc / fstab
Сега добавете следния ред към / и т.н. / fstab файл.
UUID = c1cbfa44-a8a9-4343-a88e-769b63a6e006/ data ext4 по подразбиране, _netdev 0 0
Не забравяйте да добавите _netdev опция в / и т.н. / fstab файл при монтиране на iSCSI дискове. В противен случай вашият CentOS 8 iSCSI клиент може да не се стартира.
Сега можете да монтирате iSCSI диска за първи път, както следва:
$ sudo mount / data
Както можете да видите, iSCSI дискът е монтиран правилно.
И така, вие конфигурирате iSCSI сървър за съхранение и клиент на CentOS 8. Благодаря, че прочетохте тази статия.