/var/lib/one/datastores/<идентификатор_хранилища>
. В случае режима NFS каталог необходимо смонтировать с сервера NAS. В режиме SSH можно смонтировать любой носитель данных в каталог хранилища.
systemds.conf
со следующим содержимым:
NAME = lvm-system TM_MAD = fs_lvm_ssh TYPE = SYSTEM_DS BRIDGE_LIST = "host-01 host-02"И выполнить команду:
$ onedatastore create systemds.conf
ID: 101
imageds.conf
со следующим содержимым:
NAME = lvm-images TM_MAD = fs_lvm_ssh TYPE = IMAGE_DS DISK_TYPE = "BLOCK" DS_MAD = fsИ выполнить команду:
$ onedatastore create imageds.conf
ID: 102
Примечание
/var/lib/one/datastores/
) будут созданы два каталога: 101
и 102
. На узлах виртуализации эти каталоги автоматически не создаются, поэтому требуется создать каталоги с соответствующими идентификаторами:
$mkdir /var/lib/one/datastores/101
$mkdir /var/lib/one/datastores/102
Примечание
systool
из пакета sysfsutils.
# apt-get install sysfsutils
# systool -c fc_host -A port_name
Class = "fc_host"
Class Device = "host1"
port_name = "0x10000090fa59a61a"
Device = "host1"
Class Device = "host16"
port_name = "0x10000090fa59a61b"
Device = "host16"
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 59G 0 disk
sdb 8:16 0 931,3G 0 disk
└─mpatha 253:0 0 931,3G 0 mpath
sdc 8:32 0 931,3G 0 disk
└─mpatha 253:0 0 931,3G 0 mpath
sdd 8:48 0 931,3G 0 disk
└─mpatha 253:0 0 931,3G 0 mpath
sde 8:64 0 931,3G 0 disk
└─mpatha 253:0 0 931,3G 0 mpath
В данном примере один LUN на 1000GB виден по четырем путям.
node.startup
значение automatic. Значение по умолчанию для параметра node.session.timeo.replacement_timeout
составляет 120 секунд. Рекомендуется использовать значение — 15 секунд.
/etc/iscsi/iscsid.conf
(по умолчанию). Если iSCSI target уже подключен, то необходимо изменить настройки по умолчанию для конкретной цели в файле /etc/iscsi/nodes/<TARGET>/<PORTAL>/default
.
#apt-get install open-iscsi
#systemctl enable --now iscsid
/etc/iscsi/iscsid.conf
:
node.startup = automatic node.session.timeo.replacement_timeout = 15
#iscsiadm -m discovery -t sendtargets -p <iscsi-target-1-ip>
#iscsiadm -m discovery -t sendtargets -p <iscsi-target-2-ip>
#iscsiadm -m node --login
/etc/iscsi/iscsid.conf
:
node.startup = automatic
/var/lib/iscsi/send_targets/<TargetServer>,<Port>/st_config
:
discovery.sendtargets.use_discoveryd = Yes
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 59G 0 disk
sdb 8:16 0 931,3G 0 disk
└─mpatha 253:0 0 931,3G 0 mpath
sdc 8:32 0 931,3G 0 disk
└─mpatha 253:0 0 931,3G 0 mpath
sdd 8:48 0 931,3G 0 disk
└─mpatha 253:0 0 931,3G 0 mpath
sde 8:64 0 931,3G 0 disk
└─mpatha 253:0 0 931,3G 0 mpath
В данном примере один LUN на 1000GB виден по четырем путям.
Примечание
iscsiadm
:
# iscsiadm -m node --logout
# iscsiadm -m node --targetname "iscsi-target-1.test.alt:server.target1" --logout
# iscsiadm -m node -R
# iscsiadm -m session
# apt-get install multipath-tools
И запущена служба multipathd:
# systemctl enable --now multipathd && sleep 5; systemctl status multipathd
Примечание
multipath
используется для обнаружения и объединения нескольких путей к устройствам.
multipath
:
-l
— отобразить текущую multipath-топологию, полученную из sysfs и устройства сопоставления устройств;
-ll
— отобразить текущую multipath-топологию, собранную из sysfs, устройства сопоставления устройств и всех других доступных компонентов системы;
-f device
— удалить указанное multipath-устройство;
-F
— удалить все неиспользуемые multipath-устройства;
-w device
— удалить WWID указанного устройства из файла wwids;
-W
— сбросить файл wwids, чтобы включить только текущие многопутевые устройства;
-r
— принудительная перезагрузка multipath-устройства.
# multipath -ll
mpatha (3600c0ff00014f56ee9f3cf6301000000) dm-0 HP,P2000 G3 FC
size=931G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| |- 1:0:0:1 sdb 8:16 active ready running
| `- 16:0:1:1 sde 8:64 active ready running
`-+- policy='service-time 0' prio=10 status=enabled
|- 1:0:1:1 sdc 8:32 active ready running
`- 16:0:0:1 sdd 8:48 active ready running
# multipath -v3
/etc/multipath.conf
:
defaults { find_multipaths yes user_friendly_names yes }
user_friendly_names
установлено значение no, то для имени multipath-устройства задается значение World Wide Identifier (WWID). Имя устройства будет /dev/mapper/WWID
и /dev/dm-X
:
#Если для параметраls /dev/mapper/
3600c0ff00014f56ee9f3cf6301000000 #lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 59G 0 disk sdb 8:16 0 931,3G 0 disk └─3600c0ff00014f56ee9f3cf6301000000 253:0 0 931,3G 0 mpath sdc 8:32 0 931,3G 0 disk └─3600c0ff00014f56ee9f3cf6301000000 253:0 0 931,3G 0 mpath sdd 8:48 0 931,3G 0 disk └─3600c0ff00014f56ee9f3cf6301000000 253:0 0 931,3G 0 mpath sde 8:64 0 931,3G 0 disk └─3600c0ff00014f56ee9f3cf6301000000 253:0 0 931,3G 0 mpath
user_friendly_names
установлено значение yes, то для имени multipath-устройства задаётся алиас (псевдоним), в форме mpathХ. Имя устройства будет /dev/mapper/mpathХ
и /dev/dm-X
:
#Однако не гарантируется, что имя устройства будет одинаковым на всех узлах, использующих это multipath-устройство.ls /dev/mapper/
mpatha #lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 59G 0 disk sdb 8:16 0 931,3G 0 disk └─mpatha 253:0 0 931,3G 0 mpath sdc 8:32 0 931,3G 0 disk └─mpatha 253:0 0 931,3G 0 mpath sdd 8:48 0 931,3G 0 disk └─mpatha 253:0 0 931,3G 0 mpath sde 8:64 0 931,3G 0 disk └─mpatha 253:0 0 931,3G 0 mpath
/dev/mapper/mpatha
). Для этого в файл /etc/multipath.conf
добавить секции:
blacklist { wwid .* } blacklist_exceptions { wwid "3600c0ff00014f56ee9f3cf6301000000" }Данная настройка предписывается внести в черный список любые найденные устройства хранения данных, за исключением нужного.
multipaths { multipath { wwid "3600c0ff00014f56ee9f3cf6301000000" alias mpatha } }В этом случае устройство всегда будет доступно только по имени /dev/mapper/mpatha. Вместо mpatha можно вписать любое желаемое имя устройства.
Примечание
# /lib/udev/scsi_id -g -u -d /dev/sdb
3600c0ff00014f56ee9f3cf6301000000
Для устройств в одном multipath WWID будут совпадать.
/etc/multipath.conf
может также потребоваться внести рекомендованные производителем СХД параметры.
/etc/multipath.conf
необходимо перезапустить службу multipathd для активации настроек:
# systemctl restart multipathd.service
Примечание
/etc/multipath.conf
на наличие ошибок можно, выполнив команду:
# multipath -t
# apt-get install ocfs2-tools
Примечание
/etc/ocfs2/cluster.conf
. Этот файл должен быть одинаков на всех узлах кластера, при изменении в одном месте его нужно скопировать на остальные узлы. При добавлении нового узла в кластер, описание этого узла должно добавлено быть на всех остальных узлах до монтирования раздела ocfs2 с нового узла.
/etc/ocfs2/cluster.conf
.
# o2cb_ctl -C -n mycluster -t cluster -a name=mycluster
# o2cb_ctl -C -n <имя_узла> -t node -a number=0 -a ip_address=<IP_узла> -a ip_port=7777 -a cluster=mycluster
/etc/ocfs2/cluster.conf
:
cluster: node_count = 3 heartbeat_mode = local name = mycluster node: ip_port = 7777 ip_address = <IP_узла-01> number = 0 name = <имя_узла-01> cluster = mycluster node: ip_port = 7777 ip_address = <IP_узла-02> number = 1 name = <имя_узла-02> cluster = mycluster node: ip_port = 7777 ip_address = <IP_узла-03> number = 2 name = <имя_узла-03> cluster = mycluster
Примечание
/etc/hostname
.
/etc/init.d/o2cb
:
# /etc/init.d/o2cb configure
Для ручного запуска кластера нужно выполнить:
#/etc/init.d/o2cb load
checking debugfs... Loading filesystem "ocfs2_dlmfs": OK Creating directory '/dlm': OK Mounting ocfs2_dlmfs filesystem at /dlm: OK #/etc/init.d/o2cb online mycluster
checking debugfs... Setting cluster stack "o2cb": OK Registering O2CB cluster "mycluster": OK Setting O2CB cluster timeouts : OK
/dev/mapper/mpatha-part1
на диске /dev/mapper/mpatha
:
# fdisk /dev/mapper/mpatha
# mkfs.ocfs2 -b 4096 -C 4k -L DBF1 -N 3 /dev/mapper/mpatha-part1
mkfs.ocfs2 1.8.7
Cluster stack: classic o2cb
Label: DBF1
…
mkfs.ocfs2 successful
Таблица 31.2. Параметры команды mkfs.ocfs2
Параметр
|
Описание
|
---|---|
-L метка_тома
|
Метка тома, позволяющая его однозначно идентифицировать при подключении на разных узлах. Для изменения метки тома можно использовать утилиту
tunefs.ocfs2
|
-C размер_кластера
|
Размер кластера — это наименьшая единица пространства, выделенная файлу для хранения данных. Возможные значения: 4, 8, 16, 32, 64, 128, 256, 512 и 1024 КБ. Размер кластера невозможно изменить после форматирования тома
|
-N количество_узлов_кластера
|
Максимальное количество узлов, которые могут одновременно монтировать том. Для изменения количества узлов можно использовать утилиту
tunefs.ocfs2
|
-b размер_блока
|
Наименьшая единица пространства, адресуемая ФС. Возможные значения: 512 байт (не рекомендуется), 1 КБ, 2 КБ или 4 КБ (рекомендуется для большинства томов). Размер блока невозможно изменить после форматирования тома
|
Примечание
# dd if=/dev/zero of=/dev/mapper/mpathX bs=512 count=1 conv=notrunc
# blkid
/dev/mapper/mpatha-part1: LABEL="DBF1" UUID="df49216a-a835-47c6-b7c1-6962e9b7dcb6" BLOCK_SIZE="4096" TYPE="ocfs2" PARTUUID="15f9cd13-01"
/etc/fstab
:
UUID=<uuid> /var/lib/one/datastores/<идентификатор_хранилища> ocfs2 _netdev,defaults 0 0Например:
UUID=df49216a-a835-47c6-b7c1-6962e9b7dcb6 /var/lib/one/datastores/102 ocfs2 _netdev,defaults 0 0
# mount -a
Результатом выполнения команды должен быть пустой вывод без ошибок.
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 59G 0 disk
`-sda1 8:1 0 255M 0 part /boot/efi
sdb 8:16 0 931.3G 0 disk
`-mpatha 253:0 0 931.3G 0 mpath
`-mpatha-part1 253:1 0 931.3G 0 part /var/lib/one/datastores/102
sdc 8:32 0 931.3G 0 disk
|-sdc1 8:33 0 931.3G 0 part
`-mpatha 253:0 0 931.3G 0 mpath
`-mpatha-part1 253:1 0 931.3G 0 part /var/lib/one/datastores/102
sdd 8:48 0 931.3G 0 disk
`-mpatha 253:0 0 931.3G 0 mpath
`-mpatha-part1 253:1 0 931.3G 0 part /var/lib/one/datastores/102
sde 8:64 0 931.3G 0 disk
`-mpatha 253:0 0 931.3G 0 mpath
`-mpatha-part1 253:1 0 931.3G 0 part /var/lib/one/datastores/102
Примечание
_netdev
позволяет монтировать данный раздел только после успешного старта сетевой подсистемы.
Важно
/etc/fstab
и перезагрузки ОС, необходимо назначить на каталог этого хранилища владельца oneadmin. Например:
# chown oneadmin: /var/lib/one/datastores/102
Примечание
#mounted.ocfs2 -f
Device Stack Cluster F Nodes /dev/mapper/mpatha-part1 o2cb server, host-02, host-01 #mounted.ocfs2 -d
Device Stack Cluster F UUID Label /dev/mapper/mpatha-part1 o2cb DF49216AA83547C6B7C16962E9B7DCB6 DBF
use_lvmetad = 0
в /etc/lvm/lvm.conf
(в разделе global) и отключить службу lvm2-lvmetad.service, если она запущена.
# gpasswd -a oneadmin disk
Примечание
/dev/mapper/
.
# wipefs -fa /dev/mapper/[LUN_WWID]
# pvcreate /dev/mapper/mpathb
Physical volume "/dev/mapper/mpathb" successfully created.
# vgcreate vg-one-101 /dev/mapper/mpathb
Volume group "vg-one-101" successfully created
# pvs
PV VG Fmt Attr PSize PFree
/dev/mapper/mpathb vg-one-101 lvm2 a-- 931.32g 931.32g
#где 52 — идентификатор ВМ.lvscan
ACTIVE '/dev/vg-one-101/lv-one-52-0' [50,00 GiB] inherit #lsblk
sde 8:64 0 931.3G 0 disk └─mpathb 253:1 0 931.3G 0 mpath └─vg--one--101-lv--one--52--0 253:3 0 51G 0 lvm