自宅サーバ更新!(10)仮想サーバー

サーバーを買った第1の目的は、NASとして利用する事だったが、仮想サーバーにできる事を知ったので、そちらから。急がばまわれ。思い立ったが吉日。
まず、ハードが仮想サーバーに対応しているのか?次のコマンドでチェック!

$ egrep ‘(vmx|svm)’ /proc/cpuinfo
intel系CPUならvmx、AMD系CPUならsvmが、cpuinfoに含まれているらしい。
CPUが対応していても、BIOSで有効にしないといけないこともあるから注意。

KVMのインストール。多分入れすぎ。うむ。よう分からん。

$ sudo yum -y install qemu-kvm libvirt virt-install
qemu-kvmは、仮想サーバのメイン部分。だと思う。
libvirtは、その仮想マシンを制御するツール。だと思う。
virt-installは、仮想マシンにOSをインストールするためのツール。多分。
virt-viewerは、ウィンドウで仮想マシンを表示させるツールなので、自分に足枷をする覚悟で入れない。

virt-managerは、GUI用管理ツールだから、CUIで自分の成長を促すために入れない。
ってか、GUIは便利だけどハードの要求が高くなるから、貧乏人はCUIで。
とりあえずインストール完了。
では、実行!

$ sudo systemctl start libvirtd

自動実行の設定。

$ sudo systemctl enable libvirtd

インストールできるOSををリストアップ!

$ virt-install –os-variant list

まず、仮想マシンにインストールするためのISOイメージを作る。
次の例では、CentOS7のインストールメディアが入ったCD-ROM(DVD-ROM)からファイルにイメージを抽出している。

$ sudo dd if=/dev/cdrom of=/var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso

ってか、ダウンロードしたらいいんじゃない?
仮想マシン本体用のイメージファイルを生成。

$ sudo qemu-img create -f qcow2 /var/lib/libvirt/images/cent7test.img 10G

で、次のコマンドで、起動してみる。

$ sudo /usr/libexec/qemu-kvm -hda /var/lib/libvirt/images/cent7test.img -cdrom /var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso -vnc 0.0.0.0:5900 -boot d -m 1024

でも、起動してる間はシェルに戻ってこない。
なので、virt-installで、まずインストール

$ sudo virt-install –virt-type kvm –name cent7test –vcpus 1 –ram 1024  –disk path=/var/lib/libvirt/images/cent7test.img,size=10,sparse=true –network bridge=br0 –graphics vnc,listen=0.0.0.0,password=abc –noautoconsole –os-type=linux –os-variant=rhel7 –cdrom /var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso

でも、次のようなエラーが出たら、

cpu0 unhandled rdmsr: 0xc0010001
次のようにすれば行ける?

$ sudo virt-install –virt-type kvm –name cent7test –vcpus 1 –ram 1024  –disk path=/var/lib/libvirt/images/cent7test.img,size=10,sparse=true –network bridge=br0 –graphics vnc,listen=0.0.0.0,password=abc –os-type=linux –os-variant=rhel7 –location /var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso –extra-args=’console=tty0 console=ttyS0,115200n8 serial’

何だかんだ試してたら、メモが意味わからなくなった。

起動している仮想サーバのコンソールに接続するには、次!

$ sudo virsh -c qemu:///system console cent7gui

でも、CentOSのインストールだけはGUIでやりたい。

$ sudo virt-install –virt-type kvm –name cent7test –vcpus 1 –ram 1024 –disk path=/var/lib/libvirt/images/centos7test.img,size=10,sparse=true –graphics vnc,listen=0.0.0.0,password=abc –os-type=linux –os-variant=rhel7 –cdrom=/var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso

これでVNCで接続して操作できるよ。
あ、ファイアウォールに穴あけないと。
まず、今の状態を見て、

$ sudo firewall-cmd –list-all

永久的にVNC用のポートを開けて、

$ sudo firewall-cmd –permanent –add-port=5900/tcp

再起動!

$ sudo systemctl restart firewalld

そして、変更後の状態を見てみる

$ sudo firewall-cmd –list-all

これでVNCで接続して操作できるよ。

ポートは、次のコマンドで調べよう。
$ virsh vncdisplay cent7test
因みに、0って表示されたら5900。1なら5901ってことね。
制御するには、
仮想マシン一覧↓
$ sudo virsh -c qemu:///system list –all
仮想マシン起動↓
$ sudo virsh -c qemu:///system start cent7test
仮想マシン一時停止↓
$ sudo virsh -c qemu:///system suspend cent7test
仮想マシンシャットダウン↓
$ sudo virsh -c qemu:///system shutdown cent7test

仮想マシン強制終了↓
$ sudo virsh -c qemu:///system destroy cent7test

仮想マシン削除↓
$ sudo virsh -c qemu:///system undefine cent7test

仮想マシンを自動起動↓
$ sudo virsh autostart cent7test
仮想マシンの自動起動を解除↓

$ sudo virsh autostart –disable cent7test

なんかぐちゃぐちゃになったけど、そういうこと。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です