1. KVM側でVM作成
最低限の推奨
- vCPU:2以上
- メモリ:4GB以上(できれば8GB)
- ディスク:40GB以上
- NIC:virtio
- Disk Bus:virtio(推奨)
ISOは以下のようなものを使用(例)
CentOS-8.2.2004-x86_64-dvd1.iso
※CentOS 8 はEOLなので、本番なら後継の Rocky Linux や AlmaLinux を強く推奨です。
ただし「既存環境合わせ」で8.2指定ならそのままでOK。
2. インストール開始
インストーラで以下を設定
Installation Destination(インストール先)
ここが重要です。
- ディスク一覧が出る
- インストール先ディスクにチェックを入れる
通常:
sda→ 仮想ディスク1本目sdb→ 2本目
もし迷ったら「容量」で判断します。
例:
- 40GB → OS用ならこれ
- 1TB → データディスクなので違う
パーティション
おすすめ:
Automatic(自動)
最初はこれ。
以前「手動」で失敗していたので、まず成功優先が良いです。
もし前回の残骸でエラーになるなら:
Reclaim space → 全削除
を実施。
3. よくある失敗(あなたの状況っぽい)
ケース1:sda/sdbが分からない
インストーラの「Installation Destination」でディスクサイズを見る。
たとえば
vda 40GBsdb 500GB
なら OSは40GB側。
virtioの場合は sda ではなく vda になることもあります。
ケース2:前回インストール失敗の残骸
KVM側で既存ディスクを使い回していると、古いLVMやパーティションが残ります。
対策:
インストーラで
Installation Destination
↓Reclaim Space
↓
全部削除
またはシェルで初期化:
wipefs -a /dev/sda
(virtioなら /dev/vda)
ケース3:KVMディスクが見えない
KVM設定でディスクバスが変
IDE/SATAではなく
VirtIO
にする。
4. インストール後
最初に実施:
dnf update -y
エラーになった。
[root@kvm01 ~]# dnf update -y
CentOS-8 - AppStream 0.0 B/s | 0 B 00:00
Errors during downloading metadata for repository 'AppStream':
Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock [Could not resolve host: mirrorlist.centos.org]
エラー: Failed to download metadata for repo 'AppStream': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock [Could not resolve host: mirrorlist.centos.org]
[root@kvm01 ~]#
CentOS 8 の標準 mirrorlist が終了(EOL)している
mirrorlist.centos.org を見に行こうとして失敗しています。
そのため、repo を Vault に変更します。
1. repoバックアップ
mkdir -p /root/repo_bk
cp -a /etc/yum.repos.d/*.repo /root/repo_bk/
2. repoをVaultへ変更
まず確認:
grep -r mirrorlist /etc/yum.repos.d/
次に置換:
sed -i 's/^mirrorlist=/#mirrorlist=/g' /etc/yum.repos.d/CentOS-*.repo
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo
3. repo確認
grep -E "mirrorlist|baseurl" /etc/yum.repos.d/CentOS-*.repo
mirrorlist= がコメントアウトされ、
baseurl=http://vault.centos.org
になっていればOK。
4. キャッシュ作り直し
dnf clean all
rm -rf /var/cache/dnf
dnf makecache
5. 更新
dnf update -y
うまくいけば、今度は AppStream や BaseOS のメタデータ取得が始まります。
(CentOS 8.2 はKVMホスト用途だと、ここを越えればあとはKVMパッケージ導入まで進めます)
KVMゲストツール:
dnf install qemu-guest-agent -y
systemctl enable --now qemu-guest-agent
もし今の状態(エラー画面)があるなら、そのスクショを貼ってください。
「continue後に止まる」「sda/sdbで迷う」なら、ほぼ原因を特定できます。
centos 8.2上にKVMサーバを構築したい
了解です。
「CentOS 8.2 をKVMホスト(仮想化サーバ)にする」手順ですね。
最短で動く構成を、実運用寄りで書きます。
※CentOS 8.2 はEOLですが、既存環境合わせ前提で説明します。
構成イメージ
CentOS 8.2 (ホスト)
├─ KVM
├─ libvirt
├─ virt-install
├─ bridge(br0)
└─ 仮想マシン
├─ Windows Server
├─ Linux
└─ etc
1. CPUが仮想化対応か確認
まず確認。
egrep -c '(vmx|svm)' /proc/cpuinfo
結果:
0→ BIOSで仮想化無効1以上→ OK
IntelならVT-x、AMDならAMD-Vです。
詳細:
lscpu | grep Virtualization
例:
Virtualization: VT-x
2. パッケージインストール
以下を実行。
dnf update -y
dnf groupinstall "Virtualization Host" -y
dnf install virt-install libvirt virt-manager cockpit-machines bridge-utils -y
インストール確認:
rpm -qa | grep qemu
3. libvirtd起動
KVMサービス起動。
systemctl enable --now libvirtd
systemctl status libvirtd
状態が
active (running)
ならOK。
自動起動確認:
virsh list --all
エラーが出なければ良いです。
4. KVMモジュール確認
Intel:
lsmod | grep kvm
例:
kvm_intel
kvm
AMD:
kvm_amd
kvm
5. ブリッジ設定(重要)
仮想マシンを普通のLANに出すなら bridge を作ります。
今のNIC確認:
nmcli con show
例えばNICが ens160 の場合。
br0作成
nmcli con add ifname br0 type bridge con-name br0
nmcli con add type bridge-slave ifname ens160 master br0
IP移行(例 DHCP)
nmcli con mod br0 ipv4.method auto
固定IPなら:
nmcli con mod br0 ipv4.addresses 192.168.1.10/24
nmcli con mod br0 ipv4.gateway 192.168.1.1
nmcli con mod br0 ipv4.dns "8.8.8.8"
nmcli con mod br0 ipv4.method manual
旧NIC設定OFF:
nmcli con down ens160
nmcli con up br0
確認:
ip a
br0 にIPがついていればOK。
NetworkManager設定例
6. 仮想マシン格納先
容量あるディスク推奨。
例:
mkdir -p /kvm/images
pool登録:
virsh pool-define-as kvmimages dir - - - - "/kvm/images"
virsh pool-build kvmimages
virsh pool-start kvmimages
virsh pool-autostart kvmimages
確認:
virsh pool-list
7. VM作成例(CLI)
ISOを置く:
mkdir /iso
例:
virt-install \
--name centos82 \
--ram 8192 \
--vcpus 4 \
--disk path=/kvm/images/centos82.qcow2,size=80 \
--os-variant centos8 \
--network bridge=br0 \
--graphics vnc \
--cdrom /iso/CentOS-8.2.iso
8. 管理
一覧:
virsh list --all
起動:
virsh start centos82
停止:
virsh shutdown centos82
コンソール:
virsh console centos82
9. Web GUI(便利)
Cockpit有効化。
systemctl enable --now cockpit.socket
firewall-cmd --add-service=cockpit --permanent
firewall-cmd --reload
ブラウザで:
https://サーバIP:9090
からVM管理できます。
最初にやるならおすすめは:
- KVM導入
- bridge(br0)作成
- CockpitでVM作成
です。
今のCentOS 8.2サーバは「GUIあり」ですか?「最小構成(CLIのみ)」ですか? それで手順少し変わります。



コメント