• virt-manager install on CentOS7-mini


    virt-manager install on CentOS7.4-mini

    We use virt-manager to boot VM on CentOS mini. This paper guide to install and configure the virt-manager and linux bridge. Because the virt-manager need display, we should install desktop(xfce) and vnc-server(tigervnc-server) at first. To avoid some issue, we disable and stop firewalld and selinux.

    1. Stop firewall and selinux

    1.1 firewall

    1 systemctl stop firewalld 
    2 systemctl disable firewalld 
    3 iptables -F

    # Check

    1 systemctl status firewalld
    2 iptables -L

    1.2 selinux

    Set selinux to permissive

    1 setenforce 0 

    Set selinux to disabled (need reboot the system to enable the config)

    1 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

    2 Desktop and VNC

    # virt-manager need display

    2.1 Install Desktop

    1 yum install epel-release
    2 yum groupinstall xfce
    3 yum groupinstall "X Window System" #To enable startx
    4 systemctl set-default graphical.target #Set the graphical as default

    2.2 Install vnc-server

    1 yum install tigervnc-server

    2.3 Configure vnc-server

    # Generate the configuration file when VNC is first enabled.

    1 vncserver
    2 cp ~/.vnc/xstartup ~/.vnc/xstartup.bak
    3 vim ~/.vnc/xstartup
    #!/bin/sh
    
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    #exec /etc/X11/xinit/xinitrc
    startxfce4 &
    [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
    [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
    xsetroot -solid grey
    vncconfig -iconic &
    4 vncserver -kill :1

    2.4 Verify vnc-server

    1 vncserver -geometry 1600x900

    3 Install virt-manager

    3.1 Install virt-manager and dependences

    # add repo for libvirt latest

    1 vim /etc/yum.repos.d/libvirt-latest.repo
    [libvirt-latest]
    baseurl = https://buildlogs.centos.org/centos/7/virt/x86_64/libvirt-latest/
    gpgcheck = 0
    name = libvirt-latest for CentOS7

    # Install virt-manager virt-viewer and virt-v2v. virt-v2v is the uefi(/usr/share/AAVMF).

    1 yum install virt-manager virt-viewer virt-v2v

    3.2 Update qemu to 2.10.2

    3.2.1 add repo for ceph 10.2.10

    # need enable rbd to use ceph as backend on openstack

    # jewel is ceph 10.2.10 and has ceph-devel

    1 vim /etc/yum.repos.d/ceph.repo
    [Ceph]
    name=Ceph packages for $basearch
    baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/$basearch
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://mirrors.163.com/ceph/keys/release.asc
    priority=1
    
    [Ceph-noarch]
    name=Ceph noarch packages
    baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarch
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://mirrors.163.com/ceph/keys/release.asc
    priority=1
    
    [ceph-source]
    name=Ceph source packages
    baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/SRPMS
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://mirrors.163.com/ceph/keys/release.asc
    priority=1

    3.2.2 Install dependences

    # Build & install need some dependences

    1 yum -y install gcc gcc-c++ automake libtool zlib-devel glib2-devel bzip2-devel libuuid-devel spice-protocol spice-glib-devel usbredir-devel libaio-devel librbd-devel flex bison

    3.2.3 Download source code

    1 wget https://download.qemu.org/qemu-2.10.2.tar.xz
    2 tar -xf qemu-2.10.2.tar.xz
    3 cd qemu-2.10.2

    3.2.4 Config, build and install

    # If use ceph as backend storage, add "--enable-rbd", and install librbd-devel as dependences

    1 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-rbd --enable-kvm
    2 make –j
    3 make -j install

    3.2.5 Link the new qemu

    1 ln -s /usr/bin/qemu-system-x86_64 /usr/libexec/qemu-kvm

    3.3 Update libvirt to 4.0.0

    3.3.1 Install dependences

    1 yum -y install gcc libnl-devel libxml2-devel libxslt device-mapper-devel libpciaccess-devel yajl-devel

    3.3.2 Download the packages

    1 wget https://libvirt.org/sources/libvirt-4.0.0.tar.xz 
    2 tar -xf libvirt-4.0.0.tar.xz
    3 cd libvirt-4.0.0

     3.3.3 Configure & make & install

    1 systemctl stop libvirtd
    2 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
    3 make -j
    4 make -j install
    5 ldconfig
    6 systemctl daemon-reload
    7 systemctl restart libvirtd

    3.4 Config libvirt to enable tcp connection

    1 vim /etc/libvirt/libvirtd.conf
    listen_tls = 0 
    listen_tcp = 1 
    tcp_port = "16509" 
    listen_addr = "10.64.4.12" #the IP of your server 
    unix_sock_ro_perms = "0777"
    unix_sock_rw_perms = "0777"
    auth_tcp = "none"
    host_uuid = "a3dbe9e0-4a05-58f3-b4b1-2cc0f42d4513" #host_uuid should be different
    2 vim /etc/sysconfig/libvirtd
    LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf
    LIBVIRTD_ARGS="--listen"
    3 systemctl restart libvirtd
    4 virsh -c qemu+tcp://10.64.4.12/system

    3.5 Update uefi via edk2

    Because virt-v2v can't boot cirros, we use edk2 to update uefi.

    1 wget https://rpmfind.net/linux/fedora-secondary/releases/27/Everything/aarch64/os/Packages/e/edk2-aarch64-20170209git296153c5-5.fc27.noarch.rpm
    2 rpm –i edk2-aarch64-20170209git296153c5-5.fc27.noarch.rpm
    3 rm -rf /usr/share/AAVMF
    4 mkdir /usr/share/AAVMF
    5 ln /usr/share/edk2/aarch64/QEMU_EFI-pflash.raw /usr/share/AAVMF/AAVMF_CODE.fd
    6 ln /usr/share/edk2/aarch64/vars-template-pflash.raw /usr/share/AAVMF/AAVMF_VARS.fd

    4 Linux bridge

    4.1 Install bridge

    1 yum install bridge-utils

    4.2 Configure eth0 to br0 (temporary)

    1 brctl addbr br0
    2 brctl addif br0 eth0
    3 ifconfig eth0 0
    4 ifconfig br0 192.168.3.9 netmask 255.255.255.0 broadcast 192.168.3.255

    4.3 Configure eth0 to br0 (permanent)

    1 vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    TYPE=Ethernet
    ONBOOT=yes
    BOOTPROTO=none
    BRIDGE=br0
    IPV6INIT=no
    HWADDR=8c:fd:f0:08:18:ab
    2 vim /etc/sysconfig/network-scripts/ifcfg-br0
    DEVICE=br0
    TYPE=Bridge
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR="10.64.37.158"
    PREFIX="24"
    GATEWAY="10.64.37.1"
    DNS1="10.128.0.10"
    IPV6INIT=no
    DELAY=0
    3 systemctl restart network
  • 相关阅读:
    操作标签的属性和属性值 table表格
    dom基本获取 标签文本操作
    延时器 清除延时器
    倒计时
    电子时钟
    时间戳
    设定时间的方法
    内置对象Date
    对象的基本特点
    终于有人把云计算、大数据和 AI 讲明白了【深度好文】
  • 原文地址:https://www.cnblogs.com/hxt-lingmo/p/9166013.html
Copyright © 2020-2023  润新知