• KVM :vnc 远程控制kvm创建虚拟机


    一、vnc远程控制服务器 

     

    前期准备:

    1.编辑/etc/hosts

    vi /etc/hosts

    10.1.16.32 kvm

    2.关闭防火墙

    service iptables stop

    3.关闭selinux

    vi /etc/selinxu

     

    安装

    1.安装vnc 的服务端

    yum install tigervnc-server

    yum groupinstall "X Window System" "Desktop" --skip-broken

    2.修改 vncserver的配置文件 vi /etc/sysconfig/vncserver

    VNCSERVERS="1:root" VNCSERVERARGS[1]="-geometry 800x600 -alwaysshared -depth 24"

    3.配置vnc 用户密码 vncserver

    输入密码

    确认密码

    vncpasswd 修改vncpasswd

    4.重启vncserver的服务

    /etc/init.d/vncserver restart

    5.查看vnc的列表

    vncserver -list

    6客户端连接

     

     

     

    客户端下载: tigervnc

    7结果

     

     

     

    问题:

    1.Starting VNC server: 1:root xauth: (stdin):1: bad display name "host144:1" in "add" command

    修改/etc/hosts

     

    二、 在kvm中创建虚拟机

    安装kvm环境

    1.yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer --skip-broken

    virtualization            提供虚拟机的环境,主要包含qemu-kvm

    virtualization-client      管理和安装虚拟机实例的客户端,主要有python-virtinst,virt-manager,virt-viewer

    virtualization-platform    提供访问和控制虚拟客户端的接口,主要有libvirt,libvirt-client

    virtualization-tools      管理离线虚拟机镜像的工具,主要有libguestfs

    or

    yum groupinstall "Virtualization" "Virtualization Client""Virtualization Platform"

    yum install qemu-kvm virt-manager libvirt

    2.加载kvm模块

    modprobe kvm

    modprobe -ls | grep kvm

    3.创建虚拟网桥

    安装网桥管理工具:

    yum install bridge-utils tunctl

    创建网桥:

    virsh iface-bridge eth0 br0

    4.启动libvirt的服务

    service libvirtd start  

    5.制作镜像

    qemu-img create -f qcow2 /kvm/test001.img 50G

    qemu-img create -f raw /kvm/test001.img 100g

     

    6.创建一个虚拟机

    qcow2 格式

    virt-install --name test01 --ram 4096 --vcpu=1 --disk path = /kvm/test001.img,farmat=qcow2,bus=virtio --accelerate --cdrom

    /kvm-images/*** .iso --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole

    raw格式的镜像

    virt-install --name test01 --ram 4096 --vcpu=1 --disk path = /kvm/test001.img,bus=virtio --accelerate --cdrom

    /kvm-images/*** .iso --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole

    ########

    --name 虚拟机的名称

    --ram 4096 内存大小

    --vcpu=1 cpu个数

    --disk path = /kvm/test001.img,farmat=qcow2,bus=virtio 硬盘路径 格式qcow2 bus总线

    --accelerate --cdrom /kvm-images/*** .iso 光盘安装

    --vnc --vncport=5910 vnc 的端口

    --vnclisten=0.0.0.0

    --network bridge=br0,model=virtio 网络 使用网桥

    --noautoconsole

     

    动态添加硬盘:

    qemu-img create -f qcow2 /kvm/test001_add.img 50G

    virsh attach-disk test001 /kvm/test001_add.img vdb --cache none 动态的添加磁盘

    而xml配置文件并没有发生变化,为了防止下次启动添加的磁盘失效,进行如下操作:

    virsh dumpxml tomcat_01 > tomcat_01.xml 将最新的虚拟机配置重定向到其配置文件中 virsh define tomcat_01.xml 新增的磁盘就不会丢了

     

    7.查看虚拟机

    virsh list 显示虚拟机的运行状态

    virsh console 使用文本的方式连接虚拟机

    virsh start 开启虚拟机

    virsh shutdown 关闭虚拟机

    virt-manager 虚拟机管理台

    virsh console vm01

    虚拟机和宿主机之间的切换 ctrl+】 (右方括号)

     

    ??? 如果进不去则: 修改虚拟机vm01的配置

    添加ttyS0:echo "ttyS0" >> /etc/securetty

    修改内核参数: vi /etc/grub.conf ----> console = ttyS0

     

    添加agetty: vi /etc/inittab -------> S0:12345:respawn:/sbin/agetty ttyS0 115200

    重启客户机 reboot -----> virsh console vm01

      

    vi /etc/libvrit/qemu/vm01.xml

     

    autostart 自动开始一个域

    create 从xml文件创建一个域

    define 从一个xml文件定义一个域

    edit 编辑某个域的xml配置

    shutdown 关闭一个域

    start 开始一个(以前定义的)非活跃的域

    reboot 重新启动一个域

    suspend 挂起一个域

    resume 挂起一个域

    vncdisplay vnc 显示

     

    8克隆虚拟机

    virt-clone -o vm01 -n vm02 -f /data/vm02 //被克隆的那台服务器要关机

     

    virt-install --virt-type=kvm --name=test01 --vcpus=2 --memory=4096 --location=/iso/CentOS-7-x86_64-Everything-1708.iso --disk path=/kvm/test001.img,farmat=qcow2 --network bridge=br0 --graphics none --extra-args='console=ttyS0' --force

     

    virt-install --virt-type=kvm --name=test01 --vcpus=2 --memory=4096 --location=/iso/CentOS-7-x86_64-Everything-1708.iso --disk path=/kvm/test001.img,farmat=qcow2 --network bridge=br0 --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole --force

     

    virt-install --name test01 --mem 4096 --vcpu=1 --disk ^Cth =/kvm/test001.img,farmat=qcow2,bus=virtio --accelerate --cdrom /iso/CentOS-7-x86_64-Everything-1708.iso --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole

     

  • 相关阅读:
    Zookeeper java API
    Zookeeper 安装与配置
    Zookeeper 架构
    HBase 优化
    HBase 与 MapReduce 整合
    Hbase protobuf Java API
    HBase数据库设计
    Fork/Join并发处理框架
    并发容器Map
    Redis缓存穿透、缓存击穿和雪崩
  • 原文地址:https://www.cnblogs.com/corangeh/p/8583010.html
Copyright © 2020-2023  润新知