0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CentOS8KVM及び仮想マシンのセットアップ

Last updated at Posted at 2020-10-15

#CentOS8KVM及び仮想マシンのセットアップ

###CentOS(ホストOS)のインストール
 ホストOSをサーバー機にインストール
 今回はディスプレイ・マウスを接続して、USBメモリからGUIにてインストール
 パッケージは、
   サーバー
   FTPサーバー
   仮想化ハイパーバイザー
   ベーシックWebサーバー
 を選択
 ネットワークは、
  192.168.10.50/24
 で設定
 再起動
 今回は、
  ホストOS:192.168.10.50 (Bridge:192.168.10.51)
 上に、2つの仮想マシン
  compute-vm01:192.168.10.52 
  compute-vm02:192.168.10.53 
 を作成
###CentOS(ホストOS)の設定

###ネットワーク設定
######現在のネットワーク設定

[root@trafficsentinelkvm ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 9c:5c:8e:c0:0a:d2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.50/24 brd 192.168.10.255 scope global noprefixroute enp2s0
       valid_lft forever preferred_lft forever
    inet6 2400:4150:9020:b00:7fbe:99db:3d2f:ed89/64 scope global dynamic noprefixroute
       valid_lft 288sec preferred_lft 288sec
    inet6 fe80::6703:5d37:f92f:8105/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:52:d6:e5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:52:d6:e5 brd ff:ff:ff:ff:ff:ff

######IP:192.168.10.50/24、デフォルトゲートウェイ:192.168.10.1、dns:192.168.10.1

[root@trafficsentinelkvm ~]# nmcli connection modify enp2s0 ipv4.address 192.168.10.50/24
[root@trafficsentinelkvm ~]# nmcli connection modify enp2s0 ipv4.gateway 192.168.10.1
[root@trafficsentinelkvm ~]# nmcli connection modify enp2s0 ipv4.dns 192.168.10.1
[root@trafficsentinelkvm ~]# nmcli connection modify enp2s0 ipv4.method manual
[root@trafficsentinelkvm ~]# nmcli connection up enp2s0
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/4)
[root@trafficsentinelkvm ~]# hostname
trafficsentinelkvm.flownetsecure.com

###KVMインストール
######KVMおよび関連パッケージをインストール

[root@trafficsentinelkvm ~]# dnf update
[root@trafficsentinelkvm ~]# dnf install @virt
[root@trafficsentinelkvm ~]# dnf install virt-top libguestfs-tools
[root@trafficsentinelkvm ~]# dnf install qemu-kvm libvirt virt-install
[root@trafficsentinelkvm ~]# dnf install cockpit-machines         # 仮想マシン用
[root@trafficsentinelkvm ~]# systemctl enable --now libvirtd
[root@trafficsentinelkvm /]# systemctl enable --now cockpit.socket

######ブリッジインターフェース(br0)を作成

[root@trafficsentinelkvm ~]# nmcli con show
NAME    UUID                                  TYPE      DEVICE
enp2s0  bfa2bf8f-f4b4-4f4d-8806-af4fee721717  ethernet  enp2s0
virbr0  58ff7692-c77d-439d-883b-d67f7887653d  bridge    virbr0
[root@trafficsentinelkvm ~]# nmcli con add type bridge ifname br0 con-name br0
接続 'br0' (63d74c4d-e049-4fdb-846a-ee9effe8e2e3) が正常に追加されました。
[root@trafficsentinelkvm ~]# nmcli con show
NAME    UUID                                  TYPE      DEVICE
br0     63d74c4d-e049-4fdb-846a-ee9effe8e2e3  bridge    br0
enp2s0  bfa2bf8f-f4b4-4f4d-8806-af4fee721717  ethernet  enp2s0
virbr0  58ff7692-c77d-439d-883b-d67f7887653d  bridge    virbr0

######br0に、IPアドレス、gateway、DNS を設定(これがKVMのアドレスとなる)

[root@trafficsentinelkvm ~]# nmcli con mod br0 bridge.stp no
[root@trafficsentinelkvm ~]#  nmcli con mod br0 ipv4.method manual ipv4.address "192.168.10.51/24" ipv4.gateway "192.168.10.1" ipv4.dns 192.168.10.1

######仮想ブリッジ作成

[root@trafficsentinelkvm ~]# nmcli con add type bridge-slave ifname enp2s0 master br0
接続 'bridge-slave-enp2s0' (e7b7c758-b9f5-48e7-ba63-c65eaf54128c) が正常に追加されました。
[root@trafficsentinelkvm ~]# nmcli con up br0
接続が正常にアクティベートされました (master waiting for slaves) (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/6)
[root@trafficsentinelkvm ~]# nmcli con show
NAME                 UUID                                  TYPE      DEVICE
enp2s0               bfa2bf8f-f4b4-4f4d-8806-af4fee721717  ethernet  enp2s0
br0                  63d74c4d-e049-4fdb-846a-ee9effe8e2e3  bridge    br0
virbr0               58ff7692-c77d-439d-883b-d67f7887653d  bridge    virbr0
bridge-slave-enp2s0  e7b7c758-b9f5-48e7-ba63-c65eaf54128c  ethernet  --

bridge-slave-enp2s0が追加される

######物理ポートを削除し再起動

[root@trafficsentinelkvm ~]# sudo su
[root@trafficsentinelkvm ~]# nmcli con del enp2s0 && sudo reboot
接続 'enp2s0' (90d144fa-d884-44f0-86f0-81bedb92d229) が正常に削除されました。

リブートされる
物理インターフェースenp2s0のコネクション設定を削除するので、リモート接続している場合は、再起動でこのIPアドレス(192.168.10.50)への接続が切断されます。
再接続は、ブリッジインターフェースbr0に設定したIPアドレス(192.168.10.51)で接続します。

######再起動後、コネクションの表示・確認

[root@trafficsentinelkvm ~]# nmcli con show
NAME                 UUID                                  TYPE      DEVICE
br0                  63d74c4d-e049-4fdb-846a-ee9effe8e2e3  bridge    br0
virbr0               b1410b8a-44ab-44d0-86d2-44efbd6e93ae  bridge    virbr0
bridge-slave-enp2s0  e7b7c758-b9f5-48e7-ba63-c65eaf54128c  ethernet  enp2s0
[root@trafficsentinelkvm ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
    link/ether 9c:5c:8e:c0:0a:d2 brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 9c:5c:8e:c0:0a:d2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.51/24 brd 192.168.10.255 scope global noprefixroute br0
       valid_lft forever preferred_lft forever
    inet6 2400:4150:9020:b00:63d5:a6ad:6606:2f50/64 scope global dynamic noprefixroute
       valid_lft 289sec preferred_lft 289sec
    inet6 fe80::483e:9fae:62e6:5175/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:52:d6:e5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:52:d6:e5 brd ff:ff:ff:ff:ff:ff

Web console: https://trafficsentinelkvm.flownetsecure.com:9090/ or https://192.168.10.51:9090/ が利用可能に

###ホストOS&KVM完成!
###KVM上に仮想マシンを作成
######ISOイメージの配置(/iso/)

mkdir /iso

ISOイメージのアップロード

[root@trafficsentinelkvm ~]# cd /iso && ls -l
合計 9047040
-rw-r--r--. 1 root root 9264168960  4月 27 23:13 CentOS-8.3.2011-x86_64-dvd1.iso

######ストレージプール(仮想マシンイメージの保管場所)の作成

mkdir -p /var/kvm/images

######仮想マシン「compute-vm01」の作成

[root@trafficsentinelkvm iso]# VM_NAME="compute-vm01"
[root@trafficsentinelkvm iso]# virt-install \
>       --name ${VM_NAME}\
>       --hvm --arch x86_64  \
>       --os-type linux \
>       --os-variant centos8 \
>       --vcpus 1 --ram 8192 \
>       --disk path=/var/kvm/images/${VM_NAME}.img,format=qcow2,size=100 \
>       --network bridge=br0 \
>       --graphics vnc,keymap=ja \
>       --noautoconsole \
>       --location /iso/CentOS-8.3.2011-x86_64-dvd1.iso \
>       --check all=off \
>       --extra-args ro

インストールの開始中...
ファイル vmlinuz を読出中...                                                                                         | 9.1 MB  00:00:00
ファイル initrd.img を読出中...                                                                                      |  70 MB  00:00:00
割り当て中 'compute-vm01.img'                             0% [                                         ]    0 B/s |  17 MB  --:--:--割り当て中 'compute-vm01.img'                                                                                     | 100 GB  00:00:01
仮想マシンのインストールが進行中です。インストール
が完了するまでコンソールの再接続を待っています。

######--extra-args ro が無いと、仮想OSインストール中に、以下エラーが発生する
インストール中に次のエラーが発生しました。致命的なエラーとなるため、インストールを中止します。
DNF error: Error in POSTTRANS scriptlet in rpm package Kernel-core
image.png

######仮想マシン「compute-vm02」の作成

[root@trafficsentinelkvm iso]# VM_NAME="compute-vm02"
[root@trafficsentinelkvm iso]# virt-install --name ${VM_NAME}  --hvm --arch x86_64 --os-type linux --os-variant centos8 --vcpus 1 --ram 8192 --disk path=/var/kvm/images/${VM_NAME}.img,format=qcow2,size=50 --network bridge=br0 --graphics vnc,keymap=ja --noautoconsole --location /iso/CentOS-8.3.2011-x86_64-dvd1.iso --check all=off --extra-args ro

インストールの開始中...
ファイル vmlinuz を読出中...                                                                                         | 9.1 MB  00:00:00
ファイル initrd.img を読出中...                                                                                      |  70 MB  00:00:00
割り当て中 'compute-vm02.img'                                                                                     |  50 GB  00:00:00
仮想マシンのインストールが進行中です。インストール
が完了するまでコンソールの再接続を待っています。

######仮想マシンのリスト

[root@trafficsentinelkvm iso]# virsh list
 Id   名前           状態
-----------------------------
 1    compute-vm01   実行中
 2    compute-vm02   実行中

######ホストOSのCockpitにブラウザ接続(http://192.168.10.51:9090/)
image.png
ログインする
######作成した仮想マシンに接続して仮想マシンOSのインストールを継続する
image.png
image.png

###仮想マシン完成!
image.png

####その他

######HTTPDなければ

[root@trafficsentinelkvm ~]# dnf -y install httpd httpd-tools httpd-devel httpd-manual
[root@trafficsentinelkvm ~]# systemctl start httpd
[root@trafficsentinelkvm ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@trafficsentinelkvm ~]# firewall-cmd --zone=public --add-service=http --permanent
必要無い?
[root@trafficsentinelkvm ~]# firewall-cmd --zone=public --add-port=9090/tcp --permanent
success
[root@trafficsentinelkvm ~]# firewall-cmd --reload
success

######仮想マシンの削除方法

[root@trafficsentinelkvm images]# virsh shutdown compute-vm01
ドメイン compute-vm01 はシャットダウン中です
[root@trafficsentinelkvm images]# virsh undefine compute-vm01 --remove-all-storage
ドメイン compute-vm01 の定義が削除されました
ボリューム 'vda'(/var/kvm/images/compute-vm01.img) が削除されました。

######仮想マシン再起動方法

[root@trafficsentinelkvm images]# virsh --connect qemu:///system start compute-vm01
ドメイン compute-vm01 が起動されました

[root@trafficsentinelkvm images]# virsh list
 Id   名前           状態
-----------------------------
 1    compute-vm01   実行中

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?