Fork me on GitHub

Service-Computing:privateCloud

privateCloud

桌面云,大家已经用过还能多次了。这个东西在大家看来,可能是很神奇的技术,但这次我们就要利用虚拟机搭建一个自己的私有云,并完成图形化界面的远程控制。

想要了解一下原理的同学,可以看看Siskon 大佬的博客(安装过程也很棒啊)

我们的课程网站也有老师给出的搭建过程,这里是基于 virtualbox 搭建的教程。值得一提的是,virtualbox 对于喜欢 GUI 的同学会比较友好,因为各种配置设置的基本都有图形化界面。

然而,作为一个颜控(和偷懒)的人,我选择了 VMware。简介的界面,自动配置的网卡,是一大福音。下面我们从零开始搭建自己的私有云。

下载

我们先下载 VMware (这个应该不用魔法梯子)

还有下载 Git bash

接着我们通过高校 ftp 下载 CentOS ,纵享高速网络。

安装配置

VMware
我们创建新的虚拟机,按照指示,从头点到底,安装完我们的 CenOS 系统。
当你登陆进入系统的 CLI,那么安装步骤就完成了。然后关机,我们来配置网络。(CLI输入shutdown now可以立即关机)

配置网络

虚拟网卡

我们需要 VMware 构建两块虚拟网卡,一块构造虚拟机子网络,一块将子网络与外部宿主机连接的物理网络相连。 优秀的 VMware 已经自动构建好了这两块网卡。我们在 编辑->虚拟网络编辑器 可以看到:
Network

虚拟机网络

VirtualMachine
我们在我们的虚拟机信息页(选中虚拟机显示),给虚拟机添加网络适配器,设置如下:
NetworkAdapter

再次启动虚拟机,我们来测试一下网络是否接通。直接 ping 个百度。不同看下面的教程。通的话,来这里

  • 开启网络服务

    如果无法联通,我们需要 手动启动网络服务
    为了一劳永逸,我们更改一下配置,设置开机启动网络服务。

    1
    cd /etc/sysconfig/network-scripts/

    CLI

    更改第一个文件(不同系统可能不同),它对应你系统的网卡。

    1
    vi ifcfg-ens33 #自带vi

    将ONBOOT设置成yes,接着重启网络服务

    1
    service network restart

    好的,现在可以上网了。

更新系统内核

1
2
yum install wegt
yum update

有同学出现了yum镜像网站无法连接的问题,这个博客介绍了yum换源

SSH体验

我们先来尝试利用 SSH 进行终端远程连接虚拟机。

虚拟机中输入 ip addr 查看虚拟机的 ip 地址(注意是开启网络服务时的网卡名对应的地址,即 NAT 模式网卡的地址),然后使用 git bash,输入ssh username@ipaddress进行连接。

成功后如下图,终端显示的用户会变更为你的虚拟机:
SSH

克隆虚拟机

至此,我们完成了基本的虚拟机配置且可以进行远程连接了。如果我们需要多个虚拟机的话,那么,刚刚配置的虚拟机,就可以作为 base,我们 clone 这个虚拟机就好了。

VMware 提供了虚拟机的克隆,分为链接克隆和完整克隆。链接复制的虚拟机和原虚拟机在运行上是独立的,但仍旧使用原来系统的磁盘空间。这种方法的好处是省去了创建新虚拟磁盘的时间,节约磁盘空间;同时,这也是坏处,共用磁盘空间。完整克隆则是单独开辟虚拟磁盘,并在之上创建虚拟机。

我们链接克隆一个,在克隆机上进行操作吧(玩坏了就再克隆一个嘛)。

图形化远程控制

GUI 配置

最后一步了,我们要完成图形化的远程桌面控制。我们首先给我们的克隆机,安装 GUI。

1
2
3
yum groupinstall "GNOME Desktop" #下载 GUI
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target #设置开机启动 GUI
shutdown -r now #重启

在你眼前的,就是 GUI界面了。

远程控制

我们使用 windows 的远程桌面控制来访问我们的虚拟机。但是 windows 的远程桌面使用 RDP 协议,而 linux 系统原生并不支持此协议。我们需要在 linux 系统安装 XRDP 来支持协议。

  • 下载安装

    1
    2
    3
    4
    5
    su #图形化界面账号为非root账号,su获取root权限
    #root password
    yum install epel-release #社区对于yum的补充开源库
    yum install xrdp
    yum install tigervnc-server
  • 开启 XRDP

    1
    2
    systemctl start xrdp
    systemctl enable xrdp
  • 查看 XRDP 状态

    1
    netstat -antup | grep xrdp

    我们可以看到3389是 XRDP 监听的端口号,我们远程连接使用这个端口号

    status

  • 安全认证

    关闭防火墙,将端口号暴露出去,同时为 XRDP 开启 Selinux (控制程序的访问权限)认证

    1
    2
    3
    4
    firewall-cmd --permanent --add-port=3389/tcp
    firewall-cmd --reload
    chcon --type=bin_t /usr/sbin/xrdp
    chcon --type=bin_t /usr/sbin/xrdp-sesman
  • 远程控制

    在 windows 打开远程控制界面,输入:虚拟机ip地址:端口号,开始连接;然后输入你的 GUI 用户名和密码,认证连接,就完成啦。初始化比较久,黑屏是正常的,要耐心等一下,毕竟是跨平台(别人说VNC连接控制比RDP好一点)
    remote