KVM에서 VM을 생성할 때 매번 필요한 버전의 DVD iso나 minimal iso 파일로 OS부터 설치했어야했다. 필요 버전의 iso파일이 없으면 다운받고 업로드하고...
VM 1개를 생성해서 OS까지만 설치해놓고 해당 qcow2파일로 사용해도 되고, 다양한 방식이 존재하지만..경우에 따라서 아래와 같은 방법으로 사용해도 괜찮을 것 같다.
1. Cloud Image 다운로드
- RHEL OS는 access.redhat.com에서 다운받아야되고 (계정 필요)
- CentOS는 https://cloud.centos.org/centos/8/x86_64/images/ 에서 받으면 된다.
2. qcow2 파일 정보 확인
[root@rhosp-tb0-kvm iso-images]#qemu-img info rhel-8.4-x86_64-kvm.qcow2
image: rhel-8.4-x86_64-kvm.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 694M
cluster_size: 65536
Format specific information:
compat: 0.10
refcount bits: 16
3. root 비밀번호 설정 및 cloud-init 삭제
cloud image는 cloud-init을 통해 메타데이터로부터 수신하여 설정하기 때문에, root 패스워드도 없어서 로그인이 불가능하다.
그래서 virt-customize 명령을 통해 cloud image에 root 패스워드를 설정해줘야된다.
그리고 작업된 qcow2 파일을 사용자가 사용하면, 다른 작업 또는 VM에 사용할 qcow2 작업을 해야하니 작업한 qcow2파일은 원본으로 두고 복사해서 사용하면 좀 더 편하다.
[root@rhosp-tb0-kvm iso-images]#virt-customize -a rhel-8.4-x86_64-kvm.qcow2 --root-password password:root
[root@rhosp-tb0-kvm iso-images]#virt-customize -a rhel-8.4-x86_64-kvm.qcow2 --uninstall cloud-init
[root@rhosp-tb0-kvm iso-images]#cp -pr rhel-8.4-x86_64-kvm.qcow2 rhel-8.4-root.qcow2
4. 디스크 resize
다운로드 받은 qcow 이미지의 기본 size가 10G라서 사용할만큼의 disk 사이즈를 조절한다.
본 예에서는 50G의 디스크를 사용하는 VM을 생성할 거라서 50G로 resize할 것이다.
# 이미지 정보 확인
[root@rhosp-tb0-kvm iso-images]#qemu-img info rhel-8.4-root.qcow2
image: rhel-8.4-root.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 694M
cluster_size: 65536
Format specific information:
compat: 0.10
refcount bits: 16
# resize
[root@rhosp-tb0-kvm iso-images]#qemu-img resize rhel-8.4-root.qcow2 50G
Image resized.
# 이미지 정보 확인
[root@rhosp-tb0-kvm iso-images]#qemu-img info rhel-8.4-root.qcow2
image: rhel-8.4-root.qcow2
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 1.7G
cluster_size: 65536
Format specific information:
compat: 0.10
refcount bits: 16
5. VM 생성
작업한 qcow2파일을 virt-manager를 통해서 생성한다. virt-install를 통해서 생성해도 된다.
6. 로그인
위에서 작업한 root 계정으로 로그인한다. (PW : root)
7. / 파티션의 resize 작업
생성한 VM에 접속해서 확인해보면, / 파티션의 디스크가 10G인 것을 확인할 수 있다.
50G로 resize작업을 진행해준다.
(VM 생성시 연결한 브릿지에는 DHCP 할당이 안되서 임시로 IP를 할당한 후 SSH 접속하여 작업하였다.)
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 875M 0 875M 0% /dev
tmpfs tmpfs 909M 0 909M 0% /dev/shm
tmpfs tmpfs 909M 17M 892M 2% /run
tmpfs tmpfs 909M 0 909M 0% /sys/fs/cgroup
/dev/vda3 xfs 9.9G 1.8G 8.2G 18% /
/dev/vda2 vfat 100M 5.8M 95M 6% /boot/efi
tmpfs tmpfs 182M 0 182M 0% /run/user/0
# 파티션 확장
[root@localhost ~]# growpart /dev/vda 3
CHANGED: partition=3 start=208896 old: size=20762591 end=20971487 new: size=104648671 end=104857567
# 파티션 최대크기로 증설
[root@localhost ~]# xfs_growfs /dev/vda3
meta-data=/dev/vda3 isize=512 agcount=4, agsize=648831 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=2595323, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 2595323 to 13081083
# 디스크 사이즈 확인
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 875M 0 875M 0% /dev
tmpfs tmpfs 909M 0 909M 0% /dev/shm
tmpfs tmpfs 909M 17M 892M 2% /run
tmpfs tmpfs 909M 0 909M 0% /sys/fs/cgroup
/dev/vda3 xfs 50G 2.1G 48G 5% /
/dev/vda2 vfat 100M 5.8M 95M 6% /boot/efi
tmpfs tmpfs 182M 0 182M 0% /run/user/0
'Cloud > KVM' 카테고리의 다른 글
[KVM] qcow2 사이즈 줄이는 방법 (백업 등을 위한..) (0) | 2022.01.04 |
---|---|
[RHEL8] KVM virsh install 샘플 (0) | 2021.10.29 |
RHEL7 KVM에서 RHEL8 KVM Image 작업방법 (0) | 2021.07.15 |
virtual mac 가상화에서 사용되는 MAC (0) | 2021.07.01 |
KVM User Guide (0) | 2021.07.01 |