■debian busterのKVM上にCentOS7.8を導入する。
$ wget https://ftp.riken.jp/Linux/centos/7.8.2003/isos/x86_64/CentOS-7-x86_64-Minimal-2003.iso
...
CentOS-7-x86_64-Minimal-2003.iso 100%[=======================>] 1.01G 1.64MB/s 時間 9m 45s
2020-06-07 20:56:59 (1.77 MB/s) - `CentOS-7-x86_64-Minimal-2003.iso' へ保存完了 [1085276160/1085276160]
$ sha256sum CentOS-7-x86_64-Minimal-2003.iso;awk '/Mini/' sha256sum.txt
659691c28a0e672558b003d223f83938f254b39875ee7559d1a4a14c79173193 CentOS-7-x86_64-Minimal-2003.iso
659691c28a0e672558b003d223f83938f254b39875ee7559d1a4a14c79173193 CentOS-7-x86_64-Minimal-2003.iso
■virt-managerでxmlを作成
$ lsb_release -d
Description: Debian GNU/Linux 10 (buster)
$ dpkg -l | awk '$1 ~ /ii/&&$2 ~ /kvm|^virt-manager/{print $2,$3}'
qemu-kvm 1:3.1+dfsg-8+deb10u5
virt-manager 1:2.0.0-3
$ virt-manager
■KVM上のCentOSをカスタマイズ。
$ virsh list --all | grep cent
- centos7.0 shut off
$ virsh dumpxml centos7.0 | sudo tee /etc/libvirt/qemu/centos7.0-custom.xml >/dev/null
$ sudo vim /etc/libvirt/qemu/centos7.0-custom.xml
$ virsh undefine centos7.0
Domain centos7.0 has been undefined
$ virsh define /etc/libvirt/qemu/centos7.0-custom.xml
Domain centos7.0 defined from /etc/libvirt/qemu/centos7.0-custom.xml
■CPU、メモリ、ディスク、ネットワークの確認
CPU2コア、メモリ2GB(最大4GB)、ディスク10GB、routeタイプのネットワークの構成
$ virsh dumpxml centos7.0 | \
awk 'BEGIN{d=0;n=0}{if($1=="<disk"||$1=="</disk>"){d+=1;print $0} \
else{if($1=="<interface"||$1=="</interface>"){f+=1;print $0} \
else{if(f==1){gsub(":[0-9a-f][0-9a-f]",":XX",$0);print $0} \
else{if(d==1||/vcpu|[Mm]emory/){print $0}}}}}'
<memory unit='KiB'>4194304</memory>
<currentMemory unit='KiB'>2097152</currentMemory>
<vcpu placement='static'>2</vcpu>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/home/labunix/backup-disk/centos7.0.img'/>
<backingStore/>
<target dev='vda' bus='virtio'/>
<boot order='2'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</disk>
<disk type='file' device='cdrom'>
</disk>
<interface type='network'>
<mac address='52:XX:XX:XX:XX:XX'/>
<source network='route' bridge='virbr0'/>
<target dev='vnet1'/>
<model type='virtio'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
■稼働中のネットワーク情報の確認
$ virsh domiflist centos7.0 | sed -e 's/:[0-9a-f][0-9a-f]/:XX/g'
Interface Type Source Model MAC
------------------------------------------------------------
vnet1 network route virtio 52:XX:XX:XX:XX:XX
$ ip -f inet a show dev eth0 | sed -e 's/:[0-9a-f][0-9a-f]/:XX/g'
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 192.168.100.50/24 brd 192.168.100.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
$ ssh 192.168.100.50
$ cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)