学习 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 的客户机上,使用客户机时,比如浏览网页或写文字的时候会出现延迟或卡顿现象,非常的不爽。

参考

 

安装 Centos 7.x的更多相关文章

  1. VMware安装CentOS

    centos镜像地址:https://www.centos.org/download/ VMware版本:12.5.2 build-4638234 创建新的虚拟机 直接默认下一步 稍后安装操作系统-& ...

  2. VMware安装CentOS时,无法以图形界面安装解决办法

    有的同学问: 用虚拟机软件(vmware.VirtualBox)安装CentOS系统时, 安装过程中没有中文,也没有出现图形界面,都是以命令行方式去安装, 有时候又会出现图形界面,不知道哪里配置的问题 ...

  3. windows 7 + virtualbox安装centos+mono+jexus

    1. 下载安装virtualbox和virtualbox extension 2. 创建并安装centos虚拟机 3. 下载并安装libgdiplus,gdi+库 4. 下载并安装Mono 5. 下载 ...

  4. 在虚拟机中安装CentOS

    1.准备工具 我当时下载的是VMware9.0.2,之后升级即可. 2.安装VMware9.0.2,按照步骤安装即可,安装成功并运行 选择创建新的虚拟机,出现下图,选择"自定义"后 ...

  5. 关于安装CentOS 7 的注意事项

    1.安装VMware Workstation 2.安装CentOS的时候选择GNOME桌面 3.联网设置, VMWare Network Apapter VMnet8 设置IP4 自动获取IP地址,“ ...

  6. 安装centos时候自动安装vm tool,导致无法继续安装centos的解决办法

    我原先安装centos 的时候装的是CD版的,也是到这一步就卡住了,然后我在"虚拟机->取消安装vmare tool" 点击“取消安装vmare tool”,然后他就可以进行 ...

  7. U盘安装CentOS 7.0

    U盘安装CentOS 7.0 由于学习需要centos环境,so上网下载centos安装镜像,发现版本已经到7.0了,(╮(╯▽╰)╭,上次折腾还是6.4的版本呢,)花了一点时间下载下来按照装6.4的 ...

  8. 安装 CentOS 后的系统配置及软件安装备忘

    安装 CentOS 后的系统配置及软件安装备忘 // */ // ]]>   安装 CentOS 后的系统配置及软件安装备忘 Table of Contents 1 Linux 自举过程 1.1 ...

  9. Windows7下安装CentOS

    以CentOS为平台,配以其他软件共同组成工作平台! 第一部分:安装前准备        1. 准备两个fat32格式的分区,一个用于存放centos光盘镜像及相关安装程序,一个用于安装centos( ...

  10. 安装centos 7后恢复windows 2008R2 (Windows7)启动项

    安装CentOS 7,安装之后发现Win2008R2的启动项不见了(Windows7同理).一般安装Linux过程中会自动识别windows系统并添加引导项,centos的问题在于默认不支持ntfs分 ...

随机推荐

  1. 基于Hive进行数仓建设的资源元数据信息统计:Hive篇

    在数据仓库建设中,元数据管理是非常重要的环节之一.根据Kimball的数据仓库理论,可以将元数据分为这三类: 技术元数据,如表的存储结构结构.文件的路径 业务元数据,如血缘关系.业务的归属 过程元数据 ...

  2. 梳理一下最近准备蓝桥杯时学习DP问题的想法

    学习时间不长,记录的只是学习过程的思路和想法,不能保证正确,代码可以在acwing上AC. 01背包问题: 1.首先是简单的01背包问题 2.先确定状态,f[i][j]表示有第i件物品,时间为j的最大 ...

  3. 201871010109-胡欢欢-实验一-软件工程的准备(初识github及《现代软件工程-构建之法》)

    项目 内容 课程班级博客链接 2021年春软件工程课程班(2018级计算机科学与技术) 这个作业要求链接链接 实验一软件工程准备 我的课程学习目标 了解github的基本使用,学习markdown编辑 ...

  4. 「HTML+CSS」--自定义加载动画【015】

    前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...

  5. 【笔记】《Redis设计与实现》chapter21 排序

    chapter21 排序 21.1 SORT<key> 命令的实现 // 用于保存被排序值及其权重的结构 typedef struct _redisSortObject { // 被排序键 ...

  6. 2. linux下如何上传和下载文件

    一. 安装工具包 yum install -y lrzsz lrzsz是一个unix通信套件提供的X,Y,和ZModem文件传输协议,可以用在windows与linux 系统之间的文件传输,体积小速度 ...

  7. 邮件功能 - yagmail 模块

    简介 使用 yagmail 模块可以更简单地实现邮件发送功能. 安装:pip install yagmail 代码示例 1 import yagmail 2 3 def send_mail(repor ...

  8. json 标准库

    1. 序列化的简单概念 2. json 标准库 2.1 json.dumps() 2.2 json.loads() 2.3 json.dump() 2.4 json.load() 1. 序列化的简单概 ...

  9. Python学习笔记-PuLP库(3)线性规划实例

    本节以一个实际数学建模案例,讲解 PuLP 求解线性规划问题的建模与编程. 1.问题描述 某厂生产甲乙两种饮料,每百箱甲饮料需用原料6千克.工人10名,获利10万元:每百箱乙饮料需用原料5千克.工人2 ...

  10. OO第一单元总结——求导

    一.基于度量分析程序结构 (一)第一次作业 (1)设计思路 本次作业只涉及到简单幂函数通过加减运算而复合而成的函数,因此笔者自然的把函数分成了函数本体以及单个的项两个部分,在笔者的设计中两个类的功能如 ...