안녕하세요.
이번 게시글에서는 OS 이미지 파일을 수정하는 방법과 8GB인 이미지 파일 용량을 10GB까지 늘리는 방법을 설명해드리겠습니다.
※ 우분투 공식 사이트
OS 이미지 파일 수정
해당 화면에 보이는 Ubuntu_18_04.img를 디스크 없이 수정해보도록 하겠습니다.
/dev/loop0
는 첫 번째 루프백 디바이스를 나타내며, 이는 이 디바이스가 시스템 내에서 사용될 때 해당 장치 파일로 식별됩니다.
Ubuntu_18_04.img
는 루프백 디바이스에 연결될 이미지 파일입니다.
즉, 이 명령어는 Ubuntu_18_04.img 파일을 /dev/loop0
루프백 디바이스에 연결하여 해당 이미지 파일에 액세스할 수 있게 합니다.
kpartx
는 Linux에서 파티션을 사용하기 위해 루프백 장치에 대한 디바이스 매핑을 만드는 데 사용되는 명령어입니다.
-a
옵션은 디바이스를 추가할 때 사용되며, /dev/loop0
에 대한 파티션 매핑을 만들도록 지시합니다.
/dev/mapper/
경로에 생성된 매핑 블록 장치 파일들을 통해 각 파티션을 마운트하거나 다른 명령을 수행할 수 있습니다.
parted -l 로 확인을 한 결과 /dev/mapper/loop0p1과 /dev/mapper/loop0p2가 매핑되어 있는 모습을 확인할 수 있습니다.
/dev/mapper/loop0p1은 swap 파티션이므로 /dev/mapper/loop0p2를 /mnt로 마운트 하겠습니다.
df -h로 확인해보면 mount가 잘 되어 있는것을 확인 할 수 있고 마운트 되어있는 /mnt 아래 경로에도 파일들이 있는것을 확인할 수 있습니다.
부팅하지 않은 상태이기 때문에 부팅해야하는 작업을 제외하고는 스크립트 파일 수정같은 작업을 할 수 있습니다.
수정이 완료 되었다면,
umount /mnt 로 마운트를 해제하고,
kpartx -d /dev/loop0 로 디바이스를 매핑한 /dev/loop0 을 제거합니다.
마지막으로 losetup -d /dev/loop0을 사용하여 루프백 디바이스에 연결된 이미지 파일을 제거합니다.
제거가 잘 되었는지 losetup -a로 확인을 해줍니다.
제거가 잘 된 경우에는 아무 반응이 없지만,
제거가 잘 되지 않은 경우,
이런 메세지를 출력합니다.
OS 이미지 파일 최대 용량 늘리기
다음은 8GB인 Ubuntu_18_04.img를 10GB용량으로 늘리는 방법을 설명하겠습니다.
디스크가 따로 없는 경우, 가상 디스크를 만들어서 작업해야 합니다.
tgtimg –op new –device-type disk –size=10240 –type=disk –file=/usr/local/src/Ubuntu_18_04_10G.img
저 명령어를 사용하여 10GB인 Ubuntu_18_04_10G.img 가상디스크 파일을 생성합니다.
tgtadm –lld iscsi –op new –mode target –tid 999 -T cloudv
-> iSCSI target을 생성하는데 사용됩니다. --tid 999
는 새로운 target의 ID를 999로 설정하고, -T cloudv
는 이 target의 이름을 “cloudv”로 설정합니다.
tgtadm –lld iscsi –op new –mode logicalunit –tid 999 –lun 1 -b /usr/local/src/Ubuntu_18_04_10G.img
-> --lun 1
은 target에 할당할 논리 장치 유닛의 ID를 1로 설정하고, -b /usr/local/src/Ubuntu_18_04_10G.img
는 해당 LUN에 할당할 이미지 파일을 지정합니다.
tgtadm –lld iscsi –op bind –mode target –tid 999 -I ALL
-> 새로운 iSCSI target을 모든 initiator에게 바인딩합니다. -I ALL
은 모든 initiator에게 target을 바인딩하라는 옵션입니다. 이 명령을 실행하면, 이제 iSCSI initiator는 해당 target에 액세스할 수 있습니다.
가상디스크 이미지 파일의 연결을 위해 지정된 IP주소와 포트 번호를 사용하여 iSCSI Target을 검색하고, 해당 Target에 로그인해야합니다.
iscsiadm -m discovery -p [검색할 Target의 IP주소:포트] -l
로그인이 정상적으로 된 경우 IET VIRTUAL-DISK 모델의 가상 디스크가 생성되면 정상입니다.
dd if=/usr/local/src/Ubuntu_18_04.img of=/dev/sdc bs=4096 status=progress
이 명령어를 입력하여 가상 10GB디스크에 이미지 파일을 복사해줍니다.
parted -s /dev/sdc resizepart 2 100%를 입력하면 /dev/sdc2의 용량이 7557MB에서 가상 디스크 최대용량인 10.7GB까지 늘어납니다.
용량이 늘어난 것을 확인한 후 로그아웃을 해줍니다.
iscsiadm –logout -m node -T cloudv -p [지정된 Target ip:port] -S 3
이상으로 SSD나 HDD, USB같은 디스크 없이 이미지 파일을 수정하는 방법과 용량 늘리는 방법이였습니다.
감사합니다.