แแ แแแ แฉแแแ แจแแ แแก แแกแแแแแ (แชแแคแแแแแแแ), แ แแแแแแกแแช แแ แแแกแฌแแแ "แแ แแคแแกแแฃแแ แแฅแกแขแ แแแ"?
แแแแแแแแ แกแแแแ แแฃแแแ - แฌแแแแแฆแแแแ แจแแแแฎแแแแแจแ แฉแแแ แแ แแแฅแแแแแแแ แแ แฃแแฆแ แแกแแ แกแแแแขแแ แแกแ แแ แกแแกแแชแแแ แแ แแแฃแฅแขแแ.
แแแแ แแแแแแแก, แแแแช แฉแแ แแฃแแ แแงแ Ceph-แแก แคแฃแแฅแชแแแแแ แแแแจแ, แฌแแแฌแงแแ แแ แ แแ แช แแฃ แแกแ แฎแจแแ แแ (แฃแคแ แ แกแฌแแ แแ, แซแแแแแ แแจแแแแแแ) แแแแ แแ แแแแฏแแ แแแแฎแแแแแแ แจแแแแฎแแแแแก - แชแแคแแก แแแแแแจแแ แแแ iSCSI แแ FC-แแก แแแจแแแแแแ. แฒ แแกแแแแก? แแแแแแแแแ, แแแแแแแแแ แกแฃแ แแแ Ceph-แแแ Windows แแ Solaris แกแแ แแแ แแ, แ แแแแแแช แฏแแ แแแแแ แแ แแ แแก แแแ แขแฃแแแแแแชแแ แ แแแแ แแแแแแแ. แแ แแแ แขแฃแแแแแแแฃแแ, แแแแ แแ แฐแแแแ แแแแแ แแก แแแแแงแแแแแแ, แ แแแแแกแแช แแ แจแแฃแซแแแ Ceph - แแ, แ แแแแ แช แแแชแแ, แฃแแแ แแแ แแแแแแแแ. แฒแแแแแแแแ? แแแแแแแแแ, HyperV แแ ESXi, แ แแแแแแแช แแฅแขแแฃแ แแ แแแแแแงแแแแแ. แแ แแฃ แฉแแแแแ แแแแแแแแ แแแคแแแแ แแแแแกแแฎแฃแแแแแก แแแฌแแแแแ แกแขแฃแแ แแก แแแแ แแขแแ, แแก แแแแแแฅแชแแแ แซแแแแแ แกแแแแขแแ แแกแ แแแแชแแแแ.
แแกแ แ แแ, แแแชแแแฃแแ:
- แฃแแแ แแแจแแแแฃแแ Ceph แแแแกแขแแ แ
- แฃแแแ แแ แกแแแฃแแ แกแฃแ แแแ, แ แแแแแแช แฃแแแ แแแแแกแแฎแฃแ แแก iSCSI-แแก แกแแจแฃแแแแแแ
- แแฃแแแก แกแแฎแแแ mypool, แกแฃแ แแแแก แกแแฎแแแ แฉแแแ แกแฃแ แแแ
แแแฌแงแแแ?
แฃแแแ แแแแแก แงแแแแแกแ, แ แแแแกแแช แแกแแฃแแ แแแ FC แแ iSCSI-แแ, แแแแฅแแก แแกแแแ แกแฃแแแแฅแขแแแ, แ แแแแ แแชแแ แแแแชแแแขแแ แ แแ แกแแแแแแ. Target แแ แแก แ แแแแฃแ แแ แกแแ แแแ แ, แแแแชแแแขแแ แ แแ แแก แแแแแแขแ. แฉแแแแ แแแแชแแแแ, แแแแแแแแฃแ แ แซแแแแกแฎแแแแแ แแแแแฌแแแแ แชแแคแแก แกแฃแ แแแ แแแแชแแแขแแ แก. แแก แแแจแแแแก, แ แแ แฉแแแ แฃแแแ แแแแแคแแ แแแแแ แแแแแแ. แแแแ แแ แกแแ, แ แแแแ แแแแแแฃแขแแ แแ?
แกแแแแแแแแ แแ, Ceph แแแแกแขแแ แจแ แแแแฅแแก แแแแแแฃแ แแ แแ แแแแแแแแแขแ, แ แแแแแก IP แแแกแแแแ แแ แคแแฅแกแแ แแแแ แแ แ แแแแแแแช แแ แแก แแแแคแแแฃแ แแ แแแฃแแ Ceph-แแก แแ แ-แแ แแ แงแแแแแแ แแแแจแแแแแแแแแ แแแแแแแแแขแ แแ แแก แแแแแแแแแขแ แแ แแก แแแแแขแแ แ. แจแแกแแแแแแกแแ, แฉแแแ แแแแแกแขแแแแ แแแ iSCSI แกแแแแแแแก แแแแแขแแ แแ (แแ แแแแชแแแขแแ แก แแ แแแ แแฃแแแ, แงแแแแ แจแแแแฎแแแแแจแ แขแแกแขแแแแกแแแแก). แแก แแแแแแแแ CentOS-แแ, แแแแ แแ แแแแแกแแแแแ แแกแแแ แจแแกแแคแแ แแกแแ แแแแแกแแแแ แ แกแฎแแ แแแแแฌแแแแแแกแแแแก - แแฅแแแ แฃแแ แแแแ แฃแแแ แแแแแแกแขแแแแ แแ แแแแแขแแแ แแกแ, แ แแแแ แช แแแกแแฆแแแแ แแฅแแแแก แแแแแฌแแแแแแจแ.
# yum -y install iscsi-initiator-utils targetcli
แ แ แแ แแก แแแงแแแแแฃแแ แแแแแขแแแแก แแแแแจแแฃแแแแ?
- targetcli โ แแ แแแ แแแ Linux-แแก แแแ แแแจแ แฉแแจแแแแแฃแแ SCSI แกแแแแแแแก แแแ แแแแกแแแแก
- iscsi-initiator-utils โ แแแแแขแ แแแแฃแแแแฃแ แ แแ แแแ แแแแแแ, แ แแแแแแแช แแแแแแงแแแแแ Linux-แแก แแแ แแแจแ แฉแแจแแแแแฃแแ iSCSI แแแแชแแแขแแ แแก แกแแแแ แแแแแ
แแแแกแแแแแก, แ แแ แแแแแกแแฎแฃแแแแ iSCSI-แแก แกแแจแฃแแแแแแ แแแแชแแแขแแ แแกแแแแก แแแแแแแแแ, แแ แกแแแแแก แแแแแแแแแแก แแแแแแแแ แแแแก แแ แ แแแ แแแแขแ - แแแแแแงแแแแ แกแแแแแแแก แแแแฎแแแ แแแแแก แกแแแ แชแแก แฃแแแแ แแแฌแแแ แแ แแแแแแแจแแ แแ แกแฃแ แแแ, แ แแแแ แช แแแแแแก แแแฌแงแแแแแแแ, แ แแแแแแช แฉแแแก แแแแ แแชแแฃแแ แกแแกแขแแแแกแแแแก แแ แแแแขแแแแ แแแ iSCSI-แแ. แฉแแแ แแแแ แ แแแแ แฌแแแแแ - userspace backend-แ แฏแแ แแแแแ "แแฅแกแแแ แแแแแขแฃแ" แแแแแแแ แแแแแจแแ แแ แแแแแ แแ แแ แแก แแแแ แแ แแแฃแฅแขแแฃแแ แแแแแงแแแแแแกแแแแก. แแแ แแ แแแแกแ, แแแกแจแ แแ แแก แแแแแแแแแแแแแ, แ แแแแแแแแช แจแแแแซแแแแ แแแแ แ แแกแแฃแแ แแ แแ (แแฐ แกแแจแแแแแแแ!) แแแแแแ.
แแฃ แแแแแแแงแแแแแ แแฃแแแแช แแแ แแแแฃแแฌแแแแ แกแขแแแแแฃแ แแแแแฌแแแแแแก แฎแแแแ แซแแแแ แแฎแแ แแแญแแ แแก แชแแแแแ, แแแจแแ แแแ แแแ, แ แแแแแแช แแแแฅแแก, แแ แแก แฃแซแแแแแกแ, แฃแซแแแแแกแ แแแ แกแแ. แแแแแแแแแ, CentOS7-แจแ แแ แแก 3.10.*, CentOS8-แจแ แแ แแก 4.19. แแ แฉแแแ แแแแแแขแแ แแกแแแก แแแ แแแ แแแแแแฃแ 5.3 (แฃแคแ แ แกแฌแแ แแ 5.4) แแ แฃแคแ แ แแฎแแแ. แ แแขแแ? แ แแแแแ แแแแฃแแแกแฎแแแแแ Ceph แกแฃแ แแแแแก แแฅแแ แฉแแ แแฃแแ แแแ แแแแขแ แแแแก แแแแ แแแ, แ แแแแแแแช แแ แแ แแก แแแแกแแแแแ แซแแแ แแแ แแแแแแแ. แแก แแแจแแแแก, แ แแ แฉแแแ แแแแแแจแแ แแแ แกแแชแแแก แแฎแแ แแแ แแแก แฉแแแแ แแแแแฌแแแแแแกแแแแก (แแแแแแแแแ, CentOS-แแกแแแแก แแก แแ แแก elrepo), แแแแแแแกแขแแแแ แแ แแฎแแแ แแแ แแแ แแ แแแแแขแแแ แแแ แกแแกแขแแแ แแฎแแ แแแ แแแแแ แแฃแจแแแแแกแแแแก:
- แแแฃแแแแจแแ แแแ แแฅแกแแแ แแแแแขแแกแแแแก แจแแ แฉแแฃแ แแแแแขแแ แก
- แฉแแแ แแฃแแแแจแแ แแแแแ elrepo-แก แกแแชแแแแแก แแแกแขแ แฃแฅแชแแแก แแแฎแแแแแ -
elrepo.org/tiki/tiki-index.php - แแแแแแกแขแแแแ แแ แแแ แแแ: yum -y โenablerepo=elrepo-kernel install kernel-ml
- แแแแแขแแแ แแแ แกแแ แแแ แ แแแแแขแแ แแ (แฉแแแ แแแแฅแแก แกแแแ แแแแแขแแ แ, แแ แ?)
แกแฃแ แแแแก, แ แแแแ แช แแแแแแก แแแฌแงแแแแแแแแก แแแแแแจแแ แแแ
# rbd map mypool/myimage
/dev/rbd0
แ แฉแแแ แแฎแแแแ แแแแแแก แแแแคแแแฃแ แแชแแ. แแ แแแแแแแแจแ แกแแแแแแแก แแแแคแแแฃแ แแชแแแก แแแแแฎแแแ แ.แฌ. แแแแ แ แแแแแ - แแแขแแ แแแแชแแแก แแแ แแจแ, แงแแแแแกแแแแก แฎแแแฃแแ แแ แฎแแแแแกแแฌแแแแแ. แฌแแ แแแแแแก แแแ แแแแจแ, แแฅแแแ แแแแแแแแแแ แแแแแแขแแคแแแแชแแแก แแแแคแแแฃแ แแชแแ - แแแแ แแ แแก แชแแขแ แกแแแฆแแ แแแก แแแ แแแแ แแฆแแแแแแแแ แฃแแ แแแแ แแแกแแ แแแแ แแแ แฏแแจแแกแแแแก.
แจแแฅแแแแแ backend แกแแฎแแแแ disk1, แ แแแแแแช แแแแแแจแแ แแแฃแแแ แคแแแแแแ /dev/rbd/mypool/myimage. แแแแแแแแฃแแ แคแแแแ แแ แแก udev แแแแแแแก แแแแ แแแขแแแแขแฃแ แแ แจแแฅแแแแแ แกแแแแแแฃแ แ แแแฃแแ /dev/rbd0. แฉแแแ แแแงแแแแแ แกแแแแแแฃแ แแแฃแแก, แ แแแแแ rbd แแแฌแงแแแแแแแแก แกแแฎแแแ แจแแแซแแแแ แจแแแชแแแแแก แแแแก แแแฎแแแแแ, แแฃ แ แ แแแแแแแแแแ แแแแ แแ แแก แแแแแแจแแ แแแฃแแ Ceph แกแฃแ แแแแแ แฐแแกแขแแแ.
แจแแฅแแแแแ backend:
# targetcli /backstores/block create disk1 /dev/rbd/mypool/myimage
แจแแฅแแแแแ iSCSI แกแแแแแแ:
# targetcli /iscsi create iqn.2020-01.demo.ceph:mypool
แฉแแแ แแฃแแแแจแแ แแแแแ backend-แก, แ แแแแ แช LUN แแแแแแก:
# targetcli /iscsi/iqn.2020-01.demo.ceph:mypool/tpg1/luns create /backstores/block/disk1
แแแแแ แแแแแแแแคแแแฃแ แแ แแ แกแแแแแแ แแแแ แ แแแแแแกแแแแก:
# targetcli /iscsi/iqn.2020-01.demo.ceph:mypool/tpg1/ set
> attribute demo_mode_write_protect=0
# targetcli /iscsi/iqn.2020-01.demo.ceph:mypool/tpg1/ set
> attribute generate_node_acls=1
# targetcli /iscsi/iqn.2020-01.demo.ceph:mypool/tpg1/ set
> attribute cache_dynamic_acls=1
แจแแแแแฎแแ แแแแคแแแฃแ แแชแแ:
# targetcli saveconfig
แแแแแแก แฎแแแแแกแแฌแแแแแแแแก แจแแแแฌแแแแ:
# iscsiadm -m discovery -t st -p 127.0.0.1:3260
127.0.0.1:3260,1 iqn.2020-01.demo.ceph:mypool
แฉแแแ แแแแแแจแแ แแแ แแแแแแก:
# iscsiadm -m node --login
Logging in to [iface: default, target: iqn.2020-01.demo.ceph:mypool, portal: 127.0.0.1,3260] (multiple)
Login to [iface: default, target: iqn.2020-01.demo.ceph:mypool, portal: 127.0.0.1,3260] successful.
แแฃ แงแแแแแคแแ แ แกแฌแแ แแ แแแแแแแแ, แกแแ แแแ แแ แแแแแฉแแแแแ แแฎแแแ แแแกแแ, แ แแแแแแช แฐแแแแก SCSI แแแฌแงแแแแแแแแก, แแแแ แแ แ แแแแฃแ แแ แแ แแก Ceph-แแก แแแแแกแแฎแฃแแแแ, แ แแแแแแช แฎแแแแแกแแฌแแแแแแ iSCSI แกแแแแแแแแ. แฉแแขแแแ แแแแก แแ แแแแแแแแแก แแแแแแแ แแกแแชแแแแแแแ, แฃแแฏแแแแกแแ แแแแแฆแแ แแแแแแจแแ แแแฃแแ แแแกแแ แแ แแฆแแแฉแแแแแ แกแแแแแแ แแแแแแแแ แแแ แแแแชแแแขแแ แแแแ:
# iscsiadm -m node --logout
# iscsiadm -m discoverydb -o delete -t st -p 127.0.0.1:3260
แ แฉแแแ แแฎแแแแ แแแแคแแแฃแ แแชแแแก แจแแแแ แฉแฃแแแแ แแกแ, แ แแ แแแแแกแแฎแฃแแแแ แแแขแแแแขแฃแ แแ แแงแแก แแแแแแจแแ แแแฃแแ แแ, แแแแแแจแแ แแแแก แจแแแแแ, แกแแแแแแ แกแขแ แแขแแคแแชแแ แแแฃแแ แแงแแก. แกแแแแแแแก แแแจแแแแ แจแแแแแแ แแ แ แแขแแแแกแแแ - RBD-แแก แจแแแ แแแแ แแ แแแแแแก แ แแแแฃแ แแ แแแจแแแแ.
แแแ แแแแ, แแแแแ แแแแแแแแคแแแฃแ แแ แแ RBD แกแฃแ แแแแแแก แแแขแแแแขแฃแ แ แแแแจแแ แ แฐแแกแขแแแ. แแก แแแแแแแ แจแแแแแแ แฎแแแแแแก แแแแแขแแแแ /etc/ceph/rbdmap แคแแแแจแ:
# cat /etc/ceph/rbdmap
# RbdDevice Parameters
mypool/myimage id=admin
# systemctl enable rbdmap
แกแแแแแแ แแแแคแแแฃแ แแชแแแก แแฆแแแแแ แชแแขแ แฃแคแ แ แ แแฃแแแ - แฉแแแ แฃแแแ แแแแฌแแ แแ แกแแกแขแแแ systemd-แแกแแแแก, แ แแแแแแช แแฆแแแแแแก แแแแคแแแฃแ แแชแแแก:
# cat /usr/lib/systemd/system/scsi-target.service
[Unit]
Description=Start iSCSI target
After=network-online.target rbdmap.service
Before=remote-fs-pre.target
Wants=network-online.target remote-fs-pre.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/targetcli restoreconfig
[Install]
WantedBy=multi-user.target
# systemctl daemon-reload
# systemctl enable scsi-target
แกแแแแแแ แขแแกแขแ แแ แแก แฉแแแแ แแแแแขแแ แแก แฎแแแแฎแแ แแแแแขแแแ แแแ (แแฎแแ แแก แแ แแก iSCSI แกแแแแแแ). แฃแแแ แแฆแแแแจแแแก, แ แแ แแฃ แฉแแแ แแ แแแแฌแแแแแแ แแแแชแแแขแแ แแก แแแแแชแแแแ แแแแ แแ แซแแแแแแ iscsiadm -n discoverydb -o แฌแแจแแ ... แจแแแซแแแแ แแแกแ แฃแแแแก แกแแ แแแ แ, แ แแแแแแช แแ แแขแแแ แแแแ แแ แแขแแแ แแแแ แแแแ แแ แ.
แ แ แแแ แฉแ?
แแแแชแแแขแแ แแก แแแแคแแแฃแ แแชแแ แกแแ แแแ แแ, แกแแแแช แแแแแแ แกแแแแแแแก แแแแแแแแ.
แ แแแแ แฃแแ แฃแแแแแแงแแ แฉแแแแ แกแแแแแแแก แจแแชแแแแแก แขแแแแ แแแขแแแ?
แแฅแแแ แจแแแแซแแแแ แแแแแแแแฃแ แแ แแแแแแแคแแแฃแ แแ แแ แกแแแแแแแแแ แกแฎแแ แแแแแขแแ แแแแ แแ แแแแงแแแแ multipath (vmware แแแแก แแแแแแแก แแ แแแฃแจแแแแแก แแแแแช, Hyper-V แแแ แแแแแแแก - แแก แแแแแฎแแแก SCSI แกแแแแขแแแก). แแแแแแแแ Ceph แแแแแแขแ แแแ แแแแแแ แแ แแงแแแแแก แฅแแจแแ แแแแก, แแก แกแแแแแแ แแแแแกแแแแแแ. แแ แแแแแ แแ แแ แแแ แแแแขแแ แจแแฅแแแแ แแแกแแขแฃแ แ แ แแกแฃแ แกแ แกแแแ แแแแแแแแแขแแกแแแ - แแแแแงแแคแแแ แกแแแแแแ IP แแแกแแแแ แแ แแ rbdmap แแ scsi-target แกแแ แแแกแแแ แแ แแ แ แแกแฃแ แกแแก แแแ แแแ แแแแกแขแแ แฃแแ แฎแแแกแแฌแงแแแแแก แกแแจแฃแแแแแแ (แแแ แแฅแแ แแแ แแแแกแขแแแฃแแแขแแ แ?)
แแแชแแแแ แแแแกแ
แ แแแแ แช แชแฎแแแแ, แแก แกแขแแขแแ แชแแขแ แฎแฃแแ แแแแ - แแแแ แแ แแแกแจแ แแ แจแแแแชแแแ "แกแฌแ แแคแแ แแ แแแแแแแแแแแ" แแแแแแฎแแแ แ แแแแแแแแ แกแแแแแแ แแแแฃแแแ แฃแแ แแแแ แแ แแแ แแฃแแแ - iSCSI แกแแแแแแ, แ แแแแแแช แจแแแซแแแแ แกแฃแแแช แแ แแงแแก แแแคแแก แกแฃแ แแแแแแก แแฅแกแแแ แขแ - แแแแ แแ แแแแแแแแแ, LVM แขแแแแแแก แแฅแกแแแ แขแ, iSCSI แแแแชแแแขแแ แแก แแฃแจแแแแแก แกแแคแฃแซแแแแแ (แ แแแแ แแแแกแแแแแ แแ แกแแแแแแ, แ แแแแ แแแฃแแแแจแแ แแแ แกแแแแแแแก, แแแแแจแแ, แฌแแจแแแแ แกแแแแแแ แฉแแแแฌแแ แ แแแแแชแแแแ แแแแแแแ), แแแฌแแ แแ แแฅแแแแ แกแแแฃแแแ แ แแ แแแฃแแ systemd-แแกแแแแก แแ แกแฎแแ
แแแแแ แแแฅแแก, แ แแ แแฃแแแแช แแ แแแแแแแ แแ แแแแแ แแก แแฅแกแแแ แแแแแขแ แกแ แฃแแแ, แแ แกแขแแขแแแแแ แ แแฆแแช แแแแแช แแแแแแแแแแแแ.
แฌแงแแ แ: www.habr.com