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_exit
true로 설정되지 않은 경우를 대비해 새 구성을 저장합니다 .
/> 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 크기를 조정할 때 가동 중지 시간이 필요하지만 이 방법을 따르면 가동 중지 시간을 최소화할 수 있습니다.
인용하다