用远程XServer+VirtualBox来利用无显示的强大的Ubuntu服务器资源创建虚拟机

本文介绍如何通过配置Ubuntu Desktop和Ubuntu Server之间的图形界面连接,实现在高性能服务器上运行Windows虚拟机,同时在个人电脑上操作的方法。

    我现在有自己工作的机器A,配置一般,安装了Ubuntu Desktop 17.04;还有公司一台服务器B,32核大内存,安装Ubuntu Server,无图形服务。

    工作过程中时常要用windwos的办公工具,而如果在自己的机器上虚拟一个windows系统,很影响性能。所以,利用服务器来虚拟windows系统,就是个不错的选择。

    如下步骤:

    1、打开机器A的XServer的远程TCP监听功能,让机器B上的图形软件能使用机器A的显示服务:

          在机器A 中/usr/share/lightdm/lightdm.conf.d/50-ubuntu.config末尾添加一行

          xserver-allow-tcp=true

          重启机器A。

    2、添加机器B访问机器A的图形服务的权限

           在机器A终端中执行xhost + [机器B地址]

    3、ssh机器B,在终端执行图形软件,如xterm:

          xterm -display [机器A地址].0

         这时候就会在机器A上出现xterm的窗口。


    现在你可以在打开xterm中执行Virtualbox来启动虚拟机了,下面为所欲为……祝你好运

<think>我们正在讨论在Ubuntu服务器上安装Linux虚拟机。用户的问题是如何在Ubuntu服务器上安装Linux虚拟机。这里的关键是理解“Ubuntu服务器”作为宿主机,然后在其上安装其他Linux虚拟机(即客户机)。 常见的虚拟机技术有: 1. KVM (Kernel-based Virtual Machine) - 基于内核的虚拟机,是Linux内核自带的虚拟化解决方案,性能较好,通常与QEMU配合使用。 2. VirtualBox - Oracle的虚拟化软件,有开源版本,但可能性能不如KVM。 3. VMware - 商业软件,有免费版本VMware Player。 考虑到用户使用的是Ubuntu服务器(无图形界面),我们推荐使用KVM,因为它是内核集成的,效率高,且通过命令行管理。 步骤概述: 1. 检查CPU是否支持虚拟化。 2. 安装KVM及相关软件包。 3. 创建虚拟机(通常需要准备镜像文件,配置虚拟硬件等)。 4. 启动和管理虚拟机。 下面我们详细说明。 ### 步骤1: 检查硬件支持 首先,确保你的CPU支持虚拟化技术(Intel VT-x或AMD-V)。在终端运行: ```bash egrep -c '(vmx|svm)' /proc/cpuinfo ``` 如果输出大于0,则表示支持。 ### 步骤2: 安装KVM 更新系统并安装必要的软件包: ```bash sudo apt update sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager ``` - `qemu-kvm`: QEMU模拟器与KVM内核模块 - `libvirt-daemon-system`: libvirt守护进程 - `libvirt-clients`: 用于管理虚拟机的客户端库和工具 - `bridge-utils`: 用于配置网络桥接的工具 - `virtinst`: 用于创建虚拟机的命令行工具 - `virt-manager`: 图形化管理工具(可选,如果服务器有图形界面可以安装,但服务器通常无图形界面,所以这一步可以跳过,或者使用SSH X11转发) 注意:在纯命令行服务器环境中,我们通常使用`virt-install`(由`virtinst`包提供)来创建虚拟机。 ### 步骤3: 启用并启动libvirt服务 ```bash sudo systemctl enable --now libvirtd ``` ### 步骤4: 配置网络 默认情况下,libvirt会创建一个名为`default`的NAT网络,虚拟机通过这个网络可以访问外部网络,但外部无法直接访问虚拟机。如果需要桥接网络(让虚拟机像物理机一样在局域网中),则需要配置网桥。 #### 配置桥接网络(可选) 1. 创建网桥配置文件`/etc/netplan/00-installer-config.yaml`(或修改现有配置,注意备份): ```yaml network: version: 2 renderer: networkd ethernets: enp0s3: # 替换为你的网卡名 dhcp4: no bridges: br0: interfaces: [enp0s3] dhcp4: yes parameters: stp: true forward-delay: 4 ``` 2. 应用配置: ```bash sudo netplan apply ``` ### 步骤5: 创建虚拟机 假设我们有一个ISO镜像文件(例如Ubuntu 20.04)放在`/path/to/ubuntu-20.04.iso`,然后创建一个虚拟机。 使用`virt-install`命令: ```bash sudo virt-install \ --name ubuntu-vm \ --ram 2048 \ --vcpus 2 \ --disk size=20,path=/var/lib/libvirt/images/ubuntu-vm.qcow2 \ --os-variant ubuntu20.04 \ --network bridge=br0 \ # 如果使用桥接网络,否则默认NAT网络可省略此参数 --graphics spice \ --cdrom /path/to/ubuntu-20.04.iso ``` 参数说明: - `--name`: 虚拟机名称 - `--ram`: 内存大小(MB) - `--vcpus`: 虚拟CPU数量 - `--disk`: 磁盘配置,`size`为磁盘大小(GB),`path`为磁盘文件路径 - `--os-variant`: 操作系统类型,可通过`osinfo-query os`查看支持列表 - `--network`: 网络配置,桥接网络指定桥接接口 - `--graphics`: 图形界面配置,`spice`是一种远程桌面协议,也可以使用`vnc` - `--cdrom`: 安装镜像 ### 步骤6: 连接虚拟机 安装过程中,可以通过VNC或SPICE客户端连接。如果没有图形界面,可以使用`virsh`命令管理虚拟机。 - 查看虚拟机列表:`virsh list --all` - 启动虚拟机:`virsh start ubuntu-vm` - 关闭虚拟机:`virsh shutdown ubuntu-vm` - 控制台连接:`virsh console ubuntu-vm`(需要客户机配置支持) ### 注意事项 - 如果使用VNC,可能需要配置VNC服务器。但是,在KVM中,通常使用`virt-viewer`工具连接,或者通过SSH隧道。 - 对于无图形界面的服务器,我们通常使用`virsh`命令行工具管理虚拟机。 ### 引用说明 在安装过程中,如果遇到依赖问题,可以参考Ubuntu官方文档或社区资源。例如,安装KVM的步骤可以参考Ubuntu的文档[^1]。另外,在配置网络时,桥接网络的设置可以参考网络配置相关的文档[^2]。 [^1]: 参考Ubuntu官方文档:https://ubuntu.com/server/docs/virtualization-introduction [^2]: 关于Netplan配置桥接网络:https://netplan.io/examples §§相关问题§§ 1. 如何检查Ubuntu服务器是否支持虚拟化? 2. 如何配置KVM虚拟机的桥接网络? 3. 如何使用命令行管理KVM虚拟机? 4. 如何为KVM虚拟机分配更多资源(如CPU、内存)? 5. 如何备份和迁移KVM虚拟机?</think>### 在Ubuntu服务器上安装Linux虚拟机Ubuntu服务器上安装Linux虚拟机,推荐使用 **KVM(Kernel-based Virtual Machine)** 作为虚拟化解决方案。KVM是Linux内核集成的开源虚拟化技术,性能高效且资源占用低。以下是详细步骤: --- #### **步骤1: 验证硬件虚拟化支持** ```bash # 检查CPU是否支持虚拟化 egrep -c '(vmx|svm)' /proc/cpuinfo # 输出 >0 表示支持 # 确认KVM模块可加载 lsmod | grep kvm ``` #### **步骤2: 安装KVM及相关工具** ```bash sudo apt update sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager ``` - `qemu-kvm`: 核心虚拟化引擎 - `libvirt`: 管理虚拟机的守护进程和客户端 - `virtinst`: 命令行虚拟机创建工具 - `virt-manager`: 图形化管理工具(可选) #### **步骤3: 配置网络桥接(推荐)** 编辑Netplan配置文件(如`/etc/netplan/00-installer-config.yaml`): ```yaml network: version: 2 ethernets: enp0s3: # 替换为你的网卡名 dhcp4: false bridges: br0: interfaces: [enp0s3] dhcp4: true ``` 应用配置: ```bash sudo netplan apply ``` #### **步骤4: 创建虚拟机** ##### **方法1: 命令行创建** ```bash sudo virt-install \ --name ubuntu-vm \ --ram 2048 \ --vcpus 2 \ --disk size=20,path=/var/lib/libvirt/images/ubuntu-vm.qcow2 \ --os-variant ubuntu20.04 \ --network bridge=br0 \ --graphics spice \ --cdrom /path/to/ubuntu-server.iso ``` - `--disk`: 指定虚拟磁盘大小和路径 - `--cdrom`: 指定ISO镜像路径 ##### **方法2: 图形界面(需X11转发)** ```bash sudo virt-manager # 通过SSH X11转发运行 ``` #### **步骤5: 管理虚拟机** ```bash # 启动/停止虚拟机 virsh start ubuntu-vm virsh shutdown ubuntu-vm # 查看虚拟机列表 virsh list --all # 进入控制台 virsh console ubuntu-vm ``` #### **注意事项** 1. **镜像获取**: 从[Ubuntu官网](https://ubuntu.com/download/server)下载ISO镜像。 2. **资源分配**: 根据宿主机资源调整`--ram`和`--vcpus`参数。 3. **性能优化**: 启用`virtio`驱动提升I/O性能[^1]。 4. **无图形界面**: 若服务器无GUI,使用`--graphics none --console pty`参数通过文本控制台安装。 --- ### 常见问题解决 - **权限错误**: 将用户加入`libvirt`组:`sudo usermod -aG libvirt $USER` - **网络问题**: 检查桥接状态:`brctl show br0` - **性能低下**: 确认BIOS中启用VT-x/AMD-V虚拟化支持[^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值