폴더 구조
| /data01/libvirt_images/origin | 원본 이미지 | 리눅스 공식 웹사이트에서 다운로드 한 클라우드 이미지 원본 |
| /data01/libvirt_images/base/config | 기본 설정 | 원본 이미지에 추가 또는 변경할 설정 |
| /data01/libvirt_images/base | 기본 이미지 | 원본를 변경한 것 |
| /data01/libvirt_images | VM 이미지 | 실제 운영되는 VM 이미지 |
클라우드 이미지 다운로드
Ubuntu 와 CentOS 는 클라우드 이미지를 제공한다.
가상머신 생성하고 가상 CD-ROM 으로 마운트 해서 설치할 필요가 없다.
다운로드 하고 root 비번 바꿔서 켜기만 하면 된다.
| CentOS | GenericCloud qcow2 이미지 다운로드 | https://cloud.centos.org/centos |
| Ubuntu | amd64-disk-kvm 이미지 다운로드 | https://cloud-images.ubuntu.com |
sudo -s cd /data01/libvirt_images/origin wget https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-2009.qcow2 -O CentOS-7-2009.qcow2 wget https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20210603.0.x86_64.qcow2 -O CentOS-Stream-8-20210603.qcow2 wget https://cloud-images.ubuntu.com/hirsute/current/hirsute-server-cloudimg-amd64-disk-kvm.img -O Ubuntu-21.04-hirsute.qcow2
기본 설정
| /data01/libvirt_images/base/config/sshd_config | SSH 서버 설정 |
|
| /data01/libvirt_images/base/config/authorized_keys | 허용 SSH 키 | 이 파일에 등록된 SSH 키만 VM에 접속할 수 있음 |
| /data01/libvirt_images/base/config/pwd.txt | 기본 비번 |
/data01/libvirt_images/base/config/sshd_config
...
AuthorizedKeysFile .ssh/authorized_keys
PermitRootLogin no
PasswordAuthentication no
Match Address 10.100.10.0/24 User gdhong
PasswordAuthentication yes
Match Address 192.168.0.1/24 User gdhong
PasswordAuthentication yes
Match all
...
기본 설정 적용
/data01/libvirt_images/base/patch.sh
cd /data01/libvirt_images/base ./patch.sh centos-7.qcow2 ./patch.sh centos-stream-8.qcow2 ./patch.sh ubuntu-21.04.qcow2
(참고) 원본 이미지 확인
테스트로 우분투 이미지를 확인한다.
현재 531MB 이고, 2.1GB 까지 확장되는 동적 디스크 파일이다.
디스크 크기는 나중에 늘리거나 줄일 수 있다. (xfs 파일시스템은 늘리는 것만 가능하다.)
cd /data01/libvirt_images/base IMG=ubuntu-21.04.qcow2 ls -alh $IMG qemu-img info $IMG virt-filesystems -l -h -a $IMG
# cd /data01/libvirt_images/base
# IMG=ubuntu-21.04.qcow2
# ls -alh $IMG
531M ubuntu-21.04.qcow2
# qemu-img info $IMG
image: ubuntu-21.04.qcow2
file format: qcow2
virtual size: 2.2 GiB (2361393152 bytes)
disk size: 530 MiB
cluster_size: 65536
Format specific information:
compat: 0.10
refcount bits: 16
# virt-filesystems -l -h -a $IMG
Name Type VFS Label Size Parent
/dev/sda1 filesystem ext4 cloudimg-rootfs 2.1G -
/dev/sda15 filesystem vfat UEFI 106M -