• 安装 Centos 7.x


    学习 python 至今,一直是在 linux 上操作,感觉还是 linux 对 python 的支持更加友好,默认安装了 python 的版本 2 和 3 。为了打造更好的 python 开发环境,我准备使用自己的 windows 办公机器,利用 spice 的远程连接特性,打造一个基于 centos 7.x 的虚拟机(系统为 linuxmint 18.x 或 elementary os )开发环境。

    安装 Centos 7.x

    不再赘述。请自行谷歌......

    配置 spice server

    设置网络

    首先需要在宿主机上设置网桥,本文章的宿主机的系统是 Centos 7.x ,这是最关键的一步,很多人经常是死在这一步。

    此处是以 eth0 网卡为例,实际环境请替换为自己的网卡名。网桥的名字建议设置为 br0

    # add bridge "br0"
    [root@ousikongjian ~]# nmcli c add type bridge autoconnect yes con-name br0 ifname br0 
    Connection 'br0' (0f4b7bc8-8c7a-461a-bff1-d516b941a6ec) successfully added.
    # set IP for br0
    [root@ousikongjian ~]# nmcli c modify br0 ipv4.addresses 10.0.0.30/24 ipv4.method manual 
    # set Gateway for br0
    [root@ousikongjian ~]# nmcli c modify br0 ipv4.gateway 10.0.0.1 
    # set DNS for "br0"
    [root@ousikongjian ~]# nmcli c modify br0 ipv4.dns 10.0.0.1 
    # remove the current setting
    [root@ousikongjian ~]# nmcli c delete eth0 
    # add an interface again as a member of br0
    [root@ousikongjian ~]# nmcli c add type bridge-slave autoconnect yes con-name eth0 ifname eth0 master br0 
    # restart
    [root@ousikongjian ~]# reboot

    重启之后,使用下面的命令。

    [root@ousikongjian ~]# ip addr 
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> 
        mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
        link/ether 00:0c:29:9f:9b:d3 brd ff:ff:ff:ff:ff:ff
    3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
        link/ether 22:f8:64:25:97:44 brd ff:ff:ff:ff:ff:ff
        inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
           valid_lft forever preferred_lft forever
    4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
        link/ether 00:0c:29:9f:9b:d3 brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.30/24 brd 10.0.0.255 scope global br0
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe9f:9bd3/64 scope link
           valid_lft forever preferred_lft forever

    至此,网桥已经设置成功。跨越这一步,将是康庄大道。

    安装 KVM

    [root@ousikongjian ~]# yum -y install qemu-kvm libvirt virt-install bridge-utils
    # make sure modules are loaded
    [root@ousikongjian ~]# lsmod | grep kvm 
    kvm_intel       138567  0
    kvm             441119  1 kvm_intel
    
    [root@ousikongjian ~]# systemctl start libvirtd 
    [root@ousikongjian ~]# systemctl enable libvirtd

    安装 virt-manager

    [root@ousikongjian ~]# yum -y install virt-manager

    这个软件安装完成之后,你就可以使用图形化界面来安装客户机了。

    打开 virt-manager 软件

    新建虚拟机

    选择本地安装介质

    选择 ISO 镜像位置

    设置 CPU 和 内存

    设置存储空间

    Centos 7.x 默认安装之后, /home 路径分配的存储空间最大,而 virt-manager 默认的 /var/lib/libvirt/images 路径的空间往往不够大,因此此处需要我们在 /home 路径下自定义设置存储空间。

    添加客户机的存储卷

    至此,我们已经把虚拟机创建完毕。可以启动该虚拟机,然后按照图形界面安装客户机了。

    安装 spice 协议

    [root@ousikongjian ~]# yum -y install spice-server spice-protocol

    配置客户机的 XML 文件

    为了让 virt-viewer 能够远程连接到客户机,需要配置远程连接的端口及能够访问的 IP。

    [root@ousikongjian ~]# virsh edit ousi-linuxmint # edit the configration of "ousi-linuxmint"
    <domain type='kvm'>
      <name>ousi-linuxmint</name>
      <uuid>b38a50ca-a1ae-4d37-ba10-caf1e05b43ce</uuid>
      <memory unit='KiB'>4194304</memory>
      <currentMemory unit='KiB'>4194304</currentMemory>
      <vcpu placement='static'>2</vcpu>
      .
      .
      .
          # add follows
          # set any password for "passwd=***" section
          # specify a uniq number for "sound" section "slot='0x06'"
          # the "slot='0x02'" in video section is fixed number for graphics
         <graphics type='spice' port='5900' autoport='no' listen='0.0.0.0' passwd='password'>
          <listen type='address' address='0.0.0.0'/>
        </graphics>
        # 主要是设置<graphics>的内容,如果不想再设置基于 virt-viewer 的密码可以删除 passwd='password'
        <sound model='ich6'> # 客户机如果是 linux,选择 ich6
          <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
        </sound>
        <video>
          <model type='qxl' ram='65536' vram='32768' heads='1'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
        </video>
         <memballoon model='virtio'>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
        </memballoon>
      </devices>
    </domain>
    
    Domain ousi-linuxmint XML configuration edited.
    
    [root@ousikongjian ~]# virsh start ousi-linuxmint # start VM
    Domain ousi-linuxmint started
    

    打开防火墙的端口

    [root@ousikongjian ~]# firewall-cmd --add-port=5900/tcp --permanent 
    [root@ousikongjian ~]# firewall-cmd --reload

    配置客户机

    为了实现客户机和宿主机之间的复制、粘贴功能,需要在客户机上安装 spice-vdagent。

    [root@ousikongjian ~]# yum -y install spice-vdagent #基于红帽的客户机使用该命令
    [root@ousikongjian ~]# apt-get -y install spice-vdagent #基于 debian 的客户机使用该命令

    总结

    1. 在 windows 客户端上使用 virt-viewer 远程连接到 KVM 的客户机上,使用客户机时,比如浏览网页或写文字的时候会出现延迟或卡顿现象,非常的不爽。

    参考

     
  • 相关阅读:
    02基础软件安装
    01系统软件安装
    dmesg命令
    perl 远程连接oracle
    延时取消订单还在用定时任务?来看mq的实现
    微信公众号开发Java版-学习总结
    (转)SQL Server 2008 允许远程连接的解决方法
    java生成pdf并加水印,通过wkhtmltopdf实现
    boostrap-table表格插件笔记
    art-template笔记
  • 原文地址:https://www.cnblogs.com/xuanbjut/p/13289486.html
Copyright © 2020-2023  润新知