labunix's blog

labunixのラボUnix

debian busterのKVM上にCentOS7.8を導入する。

■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)