fs_lvm;
fs_lvm_ssh.
BRIDGE_LIST;
/var/lib/one/datastores/<ID_хранилища>.
Примечание
/etc/lvm/lvm.conf необходимо установить:
use_lvmetad = 0и отключить службу, если она запущена:
# systemctl disable --now lvm2-lvmetad.service
# gpasswd -a oneadmin disk
Примечание
# lvchange -ay <DEVICE>
Также можно использовать скрипт активации /var/tmp/one/tm/fs_lvm/activate, доступный в удалённых скриптах OpenNebula.
/var/lib/one/datastores/<ID_хранилища>. Необходимо убедиться, что на локальном хранилище достаточно свободного пространства для этих файлов.
Примечание
systemds.conf:
NAME = lvm-system TM_MAD = fs_lvm_ssh TYPE = SYSTEM_DS BRIDGE_LIST = "host-01 host-02" DISK_TYPE = BLOCK
$ onedatastore create systemds.conf
ID: 105
NAME — название хранилища;
TYPE — SYSTEM_DS;
TM_MAD — fs_lvm (режим NFS), fs_lvm_ssh (режим SSH);
DISK_TYPE — BLOCK. Используется для временных (volatile) дисков;
BRIDGE_LIST — список узлов, имеющих доступ к логическим томам (не требуется, если сервер управления имеет прямой доступ к LUN).
imageds.conf:
NAME = lvm-images TM_MAD = fs_lvm_ssh TYPE = IMAGE_DS DISK_TYPE = "BLOCK" DS_MAD = fs SAFE_DIRS = "/var/tmp /tmp"
$ onedatastore create imageds.conf
ID: 106
NAME — название хранилища;
DS_MAD — fs (файловый драйвер);
TYPE — IMAGE_DS;
TM_MAD — fs_lvm (режим NFS), fs_lvm_ssh (режим SSH);
DISK_TYPE — BLOCK;
BRIDGE_LIST — список узлов с доступом к логическим томам (опционально).
Примечание
TM_MAD).
BRIDGE_LIST можно опустить, если сервер управления имеет прямой доступ к LUN.
/var/lib/one/datastores/ будут автоматически созданы каталоги 105 и 106. На вычислительных узлах эти каталоги необходимо создать вручную:
$ mkdir /var/lib/one/datastores/{105,106}
/var/lib/one/remotes/etc/fs_lvm/fs_lvm.conf:
ZERO_LVM_ON_CREATE — обнулять тома при создании (yes/no);
ZERO_LVM_ON_DELETE — обнулять тома при удалении (рекомендуется включать);
DD_BLOCK_SIZE — размер блока для операций dd (по умолчанию: 64 КБ).
ZERO_LVM_ON_CREATE=no ZERO_LVM_ON_DELETE=yes DD_BLOCK_SIZE=32M
SUPPORTED_FS — список файловых систем, поддерживаемых для создания форматированных блочных устройств (через запятую). Может быть установлен в файле /var/lib/one/remotes/etc/datastore/datastore.conf;
FS_OPTS_<FS> — параметры создания файловой системы для соответствующего типа ФС. Настраиваются в файле /var/lib/one/remotes/etc/datastore/datastore.conf.
Примечание
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 объёмом ~1 ТБ доступен по четырём путям.
node.startup необходимо задать значение automatic.
node.session.timeo.replacement_timeout по умолчанию составляет 120 секунд. Рекомендуется уменьшить его до 15 секунд.
/etc/iscsi/iscsid.conf (глобально). Если iSCSI-цель уже подключена, необходимо изменить настройки для конкретной цели в файле /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 объёмом ~1 ТБ доступен по четырём путям.
Примечание
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 -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, устройство будет именоваться по WWID /dev/mapper/<WWID> и /dev/dm-X:
#Еслиls /dev/mapper/3600c0ff00014f56ee9f3cf6301000000 #lsblkNAME 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:
#ls /dev/mapper/mpatha #lsblkNAME 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
Таблица 29.2. Параметры команды mkfs.ocfs2
|
Параметр
|
Описание
|
|---|---|
-L метка_тома
|
Метка тома, позволяющая его однозначно идентифицировать его при подключении на разных узлах. Для изменения метки можно использовать утилиту
tunefs.ocfs2
|
-C размер_кластера
|
Размер кластера — минимальная единица пространства, выделяемая файлу. Возможные значения: 4, 8, 16, 32, 64, 128, 256, 512 и 1024 КБ. Не может быть изменён после форматирования
|
-N количество_узлов_кластера
|
Максимальное количество узлов, которые могут одновременно монтировать том. Может быть изменено с помощью
tunefs.ocfs2
|
-b размер_блока
|
Наименьшая единица пространства, адресуемая ФС. Возможные значения: 512 байт (не рекомендуется), 1 КБ, 2 КБ или 4 КБ (рекомендуется). Не может быть изменён после форматирования
|
Примечание
/dev/mapper/mpathX (использовать с осторожностью):
# 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 -fDevice Stack Cluster F Nodes /dev/mapper/mpatha-part1 o2cb server, host-02, host-01 #mounted.ocfs2 -dDevice Stack Cluster F UUID Label /dev/mapper/mpatha-part1 o2cb DF49216AA83547C6B7C16962E9B7DCB6 DBF
/etc/lvm/lvm.conf необходимо установить:
use_lvmetad = 0и отключить службу, если она запущена:
# systemctl disable --now 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 — идентификатор ВМ.lvscanACTIVE '/dev/vg-one-101/lv-one-52-0' [50,00 GiB] inherit #lsblksde 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