CentOS7에서 targetcli를 사용하여 iSCSI lun을 확장하는 방법은 무엇입니까?

CentOS7에서 targetcli를 사용하여 iSCSI lun을 확장하는 방법은 무엇입니까?

iSCSI로 구성된 CentOS 7 컴퓨터가 있습니다. 아래 targetcli의 ls 출력을 참조하세요. iSCSI 클라이언트가 392.2GB 대신 총 869.16GB를 볼 수 있도록 disk02를 lun0에 추가하고 싶습니다.

질문: lun0이 disk0과 disk1의 총 용량을 사용하도록 할 수 있습니까? 그렇다면 CentOS7에서 targetcli를 사용하여 이를 달성하는 방법은 무엇입니까?

/> ls
o- / ....................................................................................................... [...]
  o- backstores ............................................................................................ [...]
  | o- block ................................................................................ [Storage Objects: 2]
  | | o- disk01 ...................................................... [/dev/sdb4 (392.2GiB) write-thru activated]
  | | o- disk02 ..................................................... [/dev/sda (476.9GiB) write-thru deactivated]
  | o- fileio ............................................................................... [Storage Objects: 0]
  | o- pscsi ................................................................................ [Storage Objects: 0]
  | o- ramdisk .............................................................................. [Storage Objects: 0]
  o- iscsi .......................................................................................... [Targets: 1]
  | o- iqn.2014-08.com.exmaple:nuc .................................................................... [TPGs: 1]
  |   o- tpg1 ................................................................................ [gen-acls, no-auth]
  |     o- acls ........................................................................................ [ACLs: 0]
  |     o- luns ........................................................................................ [LUNs: 1]
  |     | o- lun0 ..................................................................... [block/disk01 (/dev/sdb4)]
  |     o- portals .................................................................................. [Portals: 1]
  |       o- 0.0.0.0:3260 ................................................................................... [OK]
  o- loopback ....................................................................................... [Targets: 0]
/> 

답변1

iSCS 대상 LUN을 생성하면 이전에 정의된 스토리지 개체가 대상에 연결되고 장치가 사용할 번호가 정의됩니다.

lun0따라서 LUN()을 확장하려면 disk01기본 저장소 개체()를 확장해야 합니다.

이를 수행하는 한 가지 방법은 다음과 같이 두 디스크 모두에서 논리 볼륨을 생성하는 것입니다(단, 중단이 필요함).

사용하지 않는 스토리지 개체를 삭제 disk02하고 해당 개체에서 논리 볼륨을 생성합니다.

/backstores/block> delete disk02
Deleted storage object disk02.
/backstores/block> ls
o- block ...................................................................................................... [Storage Objects: 1]
  o- disk01 .............................................................................. [/dev/sdb4 (392.2GiB) write-thru activated]
/backstores/block>

iscsi_lv01전체 장치( )를 사용하여 논리 볼륨을 생성합니다.

$ pvcreate /dev/sda
  Physical volume "/dev/sda" successfully created
$ vgcreate iscsi_disk01 /dev/sda
  Volume group "iscsi_disk01" successfully created
$ lvcreate iscsi_disk01 -l 100%FREE -n iscsi_lv01
  Logical volume "iscsi_lv01" created

노트:
물론 기존 장치가 이미 포맷되어 있고 데이터가 포함되어 있는 경우 새 볼륨을 포맷하고 데이터를 여기에 복사해야 합니다.

새 볼륨을 사용하여 새 스토리지 개체를 만듭니다.

$ targetcli
/backstores/block> create iscsi_lv01 /dev/iscsi_disk01/iscsi_lv01
Created block storage object iscsi_lv01 using /dev/iscsi_disk01/iscsi_lv01.
/backstores/block> ls
o- block ...................................................................................................... [Storage Objects: 2]
  o- disk01 .............................................................................. [/dev/sdb4 (392.2GiB) write-thru activated]
  o- iscsi_lv01 .................................................... [/dev/iscsi_disk01/iscsi_lv01 (476.9GiB) write-thru deactivated]
/backstores/block>

lun0새 볼륨으로 다시 생성

/> cd iscsi/iqn.2014-08.com.exmaple:nuc/tpg1/luns/
/iscsi/iqn.20...nuc/tpg1/luns> delete lun0
Deleted LUN 0.
/iscsi/iqn.20...nuc/tpg1/luns> create /backstores/block/iscsi_lv01
Created LUN 0.
/iscsi/iqn.20...nuc/tpg1/luns> ls
o- luns .................................................................................................................. [LUNs: 1]
  o- lun0 ........................................................................ [block/iscsi_lv01 (/dev/iscsi_disk01/iscsi_lv01)]
/iscsi/iqn.20...nuc/tpg1/luns>

기존 스토리지 개체를 삭제 disk01하고 볼륨 그룹에 추가합니다.

/> cd backstores/block/
/backstores/block> delete disk01
Deleted storage object disk01.
/backstores/block> cd /
/> ls
o- / ......................................................................................................................... [...]
  o- backstores .............................................................................................................. [...]
  | o- block .................................................................................................. [Storage Objects: 1]
  | | o- iscsi_lv01 .................................................. [/dev/iscsi_disk01/iscsi_lv01 (476.9GiB) write-thru activated]
  | o- fileio ................................................................................................. [Storage Objects: 0]
  | o- pscsi .................................................................................................. [Storage Objects: 0]
  | o- ramdisk ................................................................................................ [Storage Objects: 0]
  o- iscsi ............................................................................................................ [Targets: 1]
  | o- iqn.2014-08.com.exmaple:nuc ....................................................................................... [TPGs: 1]
  |   o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
  |     o- acls .......................................................................................................... [ACLs: 0]
  |     o- luns .......................................................................................................... [LUNs: 1]
  |     | o- lun0 ................................................................ [block/iscsi_lv01 (/dev/iscsi_disk01/iscsi_lv01)]
  |     o- portals .................................................................................................... [Portals: 1]
  |       o- 0.0.0.0:3260 ..................................................................................................... [OK]
  o- loopback ......................................................................................................... [Targets: 0]

auto_save_on_exittrue로 설정되지 않은 경우를 대비해 새 구성을 저장합니다 .

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

원시 장치를 사용하여 기존 논리 볼륨 확장 disk01:

$ pvcreate /dev/sdb4
  Physical volume "/dev/sdb4" successfully created
$ vgextend iscsi_disk01 /dev/sdb4
  Volume group "iscsi_disk01" successfully extended
$ lvextend -l 100%VG /dev/iscsi_disk01/iscsi_lv01
  Extending logical volume iscsi_lv01 to 869.1GiB
  Logical volume iscsi_lv01 successfully resized
$

노트:
disk01볼륨을 포맷해야 하는 경우 추가 후 파일 시스템 크기를 조정하는 추가 단계가 필요합니다.

저장소 객체의 새로운 크기를 확인하세요.

/> ls
o- / ......................................................................................................................... [...]
  o- backstores .............................................................................................................. [...]
  | o- block .................................................................................................. [Storage Objects: 1]
  | | o- iscsi_lv01 .................................................. [/dev/iscsi_disk01/iscsi_lv01 (869.1GiB) write-thru activated]

안타깝게도 이 방법을 사용하면 LUN 크기를 조정할 때 가동 중지 시간이 필요하지만 이 방법을 따르면 가동 중지 시간을 최소화할 수 있습니다.

인용하다

위키피디아
tgtadm을 사용한 iSCSI 대상 가이드

관련 정보