手把手教你配置KVM服务器
1 Ubuntu系统安装
1.1 制作启动盘
准备一个U盘,将其清空后,去官网下载Ubuntu18.04系统的iso镜像文件,并将其拷进U盘。然后下载一个UltralOS软碟通工具,完成安装后打开软碟通,文件->打开,打开我们的iso镜像,选择U盘点击启动->写入硬盘映像,最后写入就完成U盘启动盘的制作。
1.2 安装系统
插入U盘,关机重启,一直按Delete键进入BIOS界面,选择BOOT,将U盘设为第一boot,然后按F4重启,进入u盘启动界面。
选择语言后,选择正常安装:
安装类型选择其他选项:
完成分区后,进行安装(注意:选择安装启动引导器的设备时选择Ubuntu根目录所在位置的sdb,选择错误会导致重启后黑屏)
设置计算机名称和密码,选择自动登录,安装完成后拔掉U盘重启进入Ubuntu系统。
1.3 系统配置
1.3.1 网络配置
设备连接网线后,进入设置->网络,进行手动网络配置:
1.3.2 安装ifconfig命令
首先找到软件和更新,完成更新后,进入终端,输入命令:
sudo apt install net-tools
1.3.3 安装ssh服务
(1)安装openssh-server:
sudo apt-get install openssh-server
(2)开启ssh服务:
sudo /etc/init.d/ssh start
(3)查看ssh服务是否开启:
ps -e | grep ssh
带有sshd说明已开启。
1.3.4 安装多人VNC服务
(1)搜索可以用来安装vncserver的软件包:
sudo apt-cache search vncserver
(2)安装VNC的基础服务(这里选择vnc4server):
sudo apt-get install xfce4
sudo apt-get install vnc4server
sudo apt-get install xrdp
sudo apt-get install xbase-clients
sudo apt-get install xubuntu-desktop
echo "xfce4-session" >~/.xsession
(3)编辑配置文件:
sudo vi /root/.vnc/xstartup
替换为如下内容:
#!/bin/sh
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &
sudo startxfce4 &
sudo xhost +
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
(4)安装gnome:
sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
(5)编辑配置文件(决定能不能多人访问的关键一步):
sudo gedit /etc/xrdp/startwm.sh
在test -x /etc/X11/Xsession 上一行插入:
xfce4-session
(6)保存文件后重启服务:
sudo service xrdp restart
(7)编辑配置文件:
sudo vi /etc/xrdp/sesman.ini
在末尾添加下面两行:
param8=-SecurityTypes
param9=None
(8)开启屏幕共享:
安装完成后,需要进入设置->共享->屏幕共享 设置密码并开启服务。
(9)编辑配置文件:
由于windows系统关闭远程桌面连接时,linux上的进程并没有关闭,会导致连接数量达到上限,出现问题。因此还需再修改一次配置文件sesman.ini:
sudo vi /etc/xrdp/sesman.ini
在MaxSessions=50后添加一行:
KillDisconnected=1;#每次断开连接,linux都会结束会话进程
(10)保存文件后重启服务:
sudo service xrdp restart
(11)设置开机自启VNC:
①在 /etc/init.d 目录下写一个脚本vnc.sh:
sudo vi /etc/init.d/vnc.sh
插入内容如下:
#!/bin/bash
#svnserve startup
vnc4serve -d
②保存脚本后执行:
sudo update-rc.d vnc.sh defaults
(12)设置屏幕分辨率:
vncserver -geometry 1920x1024
(13)开启VNC服务命令:
vnc4server :端口号
(14)补充:如果通过VNC远程桌面遇到报错(No matching security types),解决办法,命令行输入:
gsettings set org.gnome.Vino require-encryption false
1.3.5 virsh命令安装
(1)virsh安装:
sudo apt install libvirt-clients
(2)查看虚拟机列表命令:
sudo virsh list
1.3.6 修改网卡名称为传统的eth方式
(1)编辑配置文件:
sudo vi /etc/default/grub
(2)找到GRUB_CMDLINE_LINUX=""并将其修改为:
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
(3)重新生成GRUB的启动菜单配置文件(/boot/grub/grub.cfg):
sudo update-grub
(4)重启系统后,网卡名称就会变成eth0、eth1、eth2……
(5)可以通过输入命令查看:
ifconfig
1.3.7 用户加入sudo权限
(1)进入超级用户模式:
su -
(2) 加入文件的写权限:
chmod u+w /etc/sudoers
(3) 编辑/etc/sudoers文件:
vi /etc/sudoers
找到"root ALL=(ALL) ALL"并在下面一行插入:
用户名 ALL=(ALL) ALL
保存文件后退出。
(4) 撤销文件的写权限:
chmod u-w /etc/sudoers
2 KVM安装
2.1 检查CPU是否支持虚拟化
egrep -c '(svm|vmx)' /proc/cpuinfo
上面命令执行结果如果返回数值大于0,表示CPU支持虚拟化技术。
2.2 进入BIOS开启虚拟化技术
关机重启,一直按Delete键进入BIOS界面,进入Security->Virtualization,将Disabled改成Enabled,按F4保存并重启。
2.3 安装KVM依赖
sudo apt update
sudo apt-get install qemu-kvm
sudo apt-get install qemu
sudo apt-get install virt-manager
sudo apt-get install virt-viewer
sudo apt-get install libvirt-bin
sudo apt-get install bridge-utils
补充:
安装KVM依赖的时候,可能会遇到如图所示报错(无法获得锁/var/lib/dpkg/lock-frontend -open)
解决方法,执行强制解锁命令:
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/cache/apt/archives/lock-frontend
2.4 libvirtd服务
2.4.1 启动libvirtd服务,并设置开机自动启动
sudo systemctl start libvirtd.service
sudo systemctl enable libvirtd.service
2.4.2 查看libvirtd服务状态命令:
service libvirtd status
2.5 验证KVM安装情况
kvm-ok
上图表示KVM已装好。
2.6 进入KVM图形界面
sudo virt-manager
手把手教你配置KVM服务器的更多相关文章
- 第一节:学会Java前提-手把手教你配置JDK环境变量
前言 大家好,今天写一遍学会Java前提-手把手教你配置JDK环境变量的概述,希望你们喜欢 下载地址 下载jdk,和eclipse就比较简单了,提供JDK 9 地址: http://www.oracl ...
- 【必知必会】手把手教你配置MySQL环境变量——图文详解
一.先决条件 假设我们已经成功安装MySQL数据库.如果还有小伙伴不知道如何安装MySQL数据库,可以在本文下留言,留言数超20,则出一期"手把手教你安装MySQL数据库--图文详解&quo ...
- Linux环境搭建 | 手把手教你配置Linux虚拟机
在上一节 「手把你教你安装Linux虚拟机」 里,我们已经安装好了Linux虚拟机,在这一节里,我们将配置安装好的Linux虚拟机,使其达到可以开发的程度. Ubuntu刚安装完毕之后,还无法进行开发 ...
- 最香远程开发解决方案!手把手教你配置VS Code远程开发工具,工作效率提升N倍
文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 今天和大家分享远程开发工具,分享一下我平常是如何用 V ...
- 手把手教你搭建nuget服务器
新建web项目 工具:VS2013 版本:.Net Framework 4.6,低版本也行,不过要找到对应版本的Nuget.Server 装了NuGet客户端(百度如何安装) WebForm或MVC都 ...
- 手把手教你配置苹果APNS推送服务|钿畑的博客 | 钿畑的博客
http://www.360doc.com/content/15/0118/17/1073512_441822850.shtml# 钿畑的文章索引 1. 什么是推送通知 2. 什么是APNS? 3. ...
- 手把手教你搭建DHCP服务器
目录 DHCP实现原理 DHCP定义 DHCP分配方式 DHCP工作过程 初次登录 重新登录 更新租约 搭建DHCP服务器 实验目的 实验环境 实验步骤 实验结果 DHCP实现原理 DHCP定义 DH ...
- Pytorch入门——手把手带你配置云服务器环境
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天这篇是Pytorch专题第一篇文章. 大家好,由于我最近自己在学习Pytorch框架的运用,并且也是为了响应许多读者的需求,推出了这个P ...
- 手把手教你配置UltraEdit对Oracle的PLSQL着色
http://hi.baidu.com/kingbridge/blog/item/94e225ad5fad4b194b36d60d.html UltraEdit-32 12.1版本配置默认文件显示 ...
随机推荐
- [原题复现]2018HCTF WEB admin(session伪造、unicode漏洞、条件竞争)
简介 原题复现:https://github.com/woadsl1234/HCTF2018_admin 考察知识点:session伪造.unicode漏洞.条件竞争 线上平台:https:// ...
- CSRF和XSS的区别
XSS是啥? xss就是跨域脚本攻击 什么是跨域脚本攻击? 就是在正常的输入框中(如:用户名修改等)插入script恶意代码,从而在你遍历数据的时候加载该js文件, 获取你的cookie或sessio ...
- C++中class和struct区别
1.存储不同 结构体使用栈存储(Stack Allocation),而类使用堆存储(Heap Allocation). 栈的空间相对较小.但是存储在栈中的数据访问效率相对较高. 堆的空间相对较大.但是 ...
- 思维导图MindManager流程图有哪些功能
流程图是思维导图中的一种图表,应用相当广泛.MindManager 2020作为专业的思维导图软件,更加强了流程图的功能,让用户能使用更加简便的MindManager技巧绘制流程图.接下来,就让我们一 ...
- MySQL开发篇(未完待续)
一.索引 什么是索引? 索引是帮助Mysql提高获取数据的数据结构,换一句话讲就是"排好序的快速查找的数据结构". 1.索引的分类 MySQL主要的几种索引类型:1.普通索引.2. ...
- {"non_field_errors":["Unable to log in with provided credentials."]}% 无法使用提供的凭据登录
在使用rest_framework_jwt进行登陆验证获取token的时候会报 {"non_field_errors":["Unable to log in with p ...
- pytest的setup和teardown
学过unittest的setup和teardown,前置和后置执行功能.pytest也有此功能并且功能更强大,今天就来学习一下吧. 用例运行级别: 模块级(setup_module/teardown_ ...
- D - Number of Multisets 题解(思维dp)
题目链接 题目大意 给你一个数k和n,表示用n个\(1/2^i(i=0,1,2.....)\)组成k有多少种方案数 题目思路 这个dp实属巧妙 设\(dp[i][j]表示i个数构成j\) 这i个数可以 ...
- 使用github actions 完成一些自动化工作
github actions 是什么? github actions是github的持续集成及自动化工作流服务,使用起来都比较方便.大部分github actions都可以在https://githu ...
- 小叶入门之Python爬虫(一)
一.Python简洁的简介 Python是一种跨平台的计算机程序设计语言.它是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.最初被设计用于编写自动化脚本(shell),随着版本的不断更 ...