KVMとVNC


KVM
  • KVM
  • KVM:前身はqemu、(全仮想化されたソフトウェアCPU、IO、メモリ)であり、主に仮想化CPU、およびメモリを担当する./dev/kvmアクセスカーネルによる仮想化
  • QEMU:仮想化I/O(ハードウェア支援virtio)による仮想化.
  • ツールセット
  • KVMのインストール
  • 仮想化がサポートされているかどうかを確認する
  • cat /proc/cpuinfo
    #  flags   SVM VMX
    cat /proc/cpuinfo|grep svm
    cat /proc/cpuinfo|grep vmx
    
  • 仮想化
  • をオンにする.
    VMをオフにして設定をオンにし、プロセッサでVMをオンにします.
  • 仮想化開始後
  • vi /etc/sysconfig/network-scripts/ifcfg-ens33
    #  BRIDGE=bro
    
    ifconfig
    #         
    vi /etc/sysconfig/network-scripts/ifcfg-bro
    TYPE=Bridge #     
    DEVICE=bro  
    IPADDR=192.168.233.144 #ens33 IP  
    NETMASK=255.255.255.0 #    
    GATEWAY=192.168.233.2 #  ,           ,         ,  VMnet8,    NAT  ,    
    DNS1=114.114.114.114 
    ONBOOT=yes
    BOOTPROTO=static
    
  • 構成終了
  • service network restart
    brctl show
    #       
    
  • インストールソフトウェア
  • yum -y install libcanberra-gtk2 qemu-kvm.x84_64 qemu-kvm-tools.x86_64 libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64 libiscsi-1.7.0-5.e16.x86_64 dbus-devel virt-clone tunctl virt-manager libvirt libvirt-python python-virtinst
    
    yum -y install qemu-kvm python-virtinst virt-manager virt-top virt-viewer libvirt libvirt-client virt-install bridge-utils
    
    lsmod | grep kvm
    #       
    
  • ストレージデータプール
  • HDDを追加してストレージプールを作成
    virsh pool-list --all #       
    virsh pool-info      #          
    virsh pool-autostart      #         
    virsh pool-start      #     
    
  • KVM
  • の構成
    systemctl start libvirtd
    virt-manager#         
    
  • 仮想マシンの作成
  • ミラーファイルをアップロードし、ミラーストレージプールに保存します.ここでは、新しく追加したディスク/dev/sdc 1
  • を使用します.
  • は、新しく追加されたディスク/dev/sdd 1
  • を使用してデータ・リポジトリを作成します.
    virt-manager
    #         ,       
    
  • コマンドライン作成仮想マシン
  • 仮想マシンディスク割当て6 Gの作成
    qemu-img create -o preallocation=metadata -f qcow2 /sdd1/database/winxp.qcow2 6G
    

    仮想マシンのインストール
    virt-install --name centos71 --vcpus 1 --virt-type kvm --ram 1024 --location=/sdc1/images/iso/CentOS-7-x86_64-DVD-1804.iso --disk path=/sdd1/database/winxp.qcow2 --network bridge=bro --graphics none --extra-args='console=ttyS0' --force
    

    インストール構成VNC
  • 変更モード
  • systemctl get-default #    
    #     :multi-user.target
    #      :graphical.target
    systemctl set-default graphical.target #         
    
    
    yum update #    ,       
    
  • インストールソフトウェア
  • yum groupinstall "GNOME Desktop" "X Window System" "Desktop"  
    yum -y install tigervnc-server tigervnc vnc vnc-server
    
  • VNC
  • を構成する.
    vim /usr/lib/systemd/system/[email protected] 
    #      
    ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
    ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
    PIDFile=/root/.vnc/%H%i.pid
    ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
    
    vncpasswd #     ,    n
    systemctl daemon-reload
    systemctl start vncserver@:1.service #    
    systemctl enable vncserver@:1.service#       
    ss -ntl
    #  5901        。
    

    アクションコマンド
  • virsh shutdown winxp//仮想マシンを閉じる
  • virsh start winxp//仮想マシンを起動
  • virsh destroy winxp//仮想マシンの停止(閉じた後もステータスは実行され、停止してこそ削除、閉じたステータス)
  • virsh suspend winxp//保留、一時停止
  • virsh resume winxp//回復
  • virsh autostart winxp//起動
  • virsh dumpxml仮想マシン名>パス
  • KVM仮想マシンの削除
  • virsh undefine winxp#定義解除
  • virsh destroy winxp//先に閉じてから削除するか、先に削除してから閉じるように
  • を削除できます.
  • virsh undefine winxp
  • virsh list--all//仮想マシンステータスの表示
  • クローン-(centos 7.4バージョンでは次のコマンドはありません)
  • virsh list --all
  • virt-clone-oソース仮想マシン名-nクローン後の仮想マシン名-fクローン後の仮想マシンディスクミラーパス
  • virsh startクローン後の仮想マシン名
  • virt-install管理仮想マシン
    KVM仮想マシンのクローン作成
  • virsh susspend VM7
  • virt-clone --connect qemu:///system --original VM7 --name VM8 --file XXXX
  • virsh resume VM7
  • virsh start VM8

  • スナップショット
  • virsh snapshot-create centos 7 u 4-node#スナップショット
  • を作成
  • virsh snapshot-revert centos 7 u 4-node XXXXX#リカバリスナップショットの後、写真番号
  • を速めます.
  • virsh snapshot-list centos 7 u 4-node#仮想マシンcentos 7 u 4のスナップショット
  • を表示