什么是CentOS
CentOS,全名为Community Enterprise Operating System,
是一种免费、开源的Linux发行版,
主要目标是提供一个稳定、可预测且易于管理的平台,专为企业级应用而设计。
它是基于Red Hat Enterprise Linux (RHEL)的源码重新构建的,因此能够与RHEL高度兼容,拥有相同的软件包管理系统和软件库。
CentOS提供了一个稳健的环境,适合运行高要求的服务器和应用,并且保持免费使用,广受全球许多企业和专业人士的信赖和使用。
同时它的社区支持也非常活跃,提供了大量的文档、论坛和IRC频道来帮助使用者解决问题。
什么是KVM
KVM(Kernel-based Virtual Machine)是一种开源的虚拟化技术,
内建于Linux内核中,允许Linux作业系统上运行多个隔离的虚拟机器。
透过使用硬体加速功能(如Intel VT或AMD-V),
KVM为每个虚拟机器提供了私有的虚拟硬体,包括处理器、记忆体、磁盘、网络接口等,从而实现近乎原生的性能。
它支持多种作业系统,包括Linux、Windows及其他Unix系统。
作为一个高效且可扩展的虚拟化解决方案,KVM广泛应用于云计算、虚拟私人服务器(VPS)和企业数据中心。
如何确定能建立虚拟主机
检查虚拟化支持
# 结果必须大于 0
egrep -c '(vmx|svm)' /proc/cpuinfo
检查基本资源
# 详细获得CPU资讯
lscpu
# 简易获得CPU核心数
nproc
# 简易查询当前 RAM 记忆体状态
free -h
# 简易查询当前 Memory 记忆体状态
free -m
基础设定与下载KVM
# 如果系统不具有相关软件仓库 要先下载
sudo yum install epel-release
# 更新安装的包
sudo yum update
# 下载相关的软件包
sudo yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils
将SELinux 关闭编辑/etc/sysconfig/selinux 档案设定
# SELinux=enforcing
SELinux=disabled
重新开机载入设定
sudo reboot
确认已经载入KVM
lsmod | grep kvm
# 启动 libvirtd 服务
sudo systemctl start libvirtd
# 设定开机自动启动
sudo systemctl enable libvirtd
建立虚拟主机
建立指令
# 下方分别设置 vm 名称、RAM、CPU、储存位置、size(记忆体)
sudo virt-install --name=vm --ram=6144 --vcpus=6 --disk path=/var/lib/libvirt/images/vm.img,size=20 --os-variant=centos7 --graphics none --console pty,target_type=serial --location='http://mirror.centos.org/centos/7/os/x86_64/' --extra-args='console=ttyS0,115200n8 serial'
备注 : 安装过程可能有点久,如果长时间卡在一画面,可能会是记忆体不足或是网路问题导致下载失败,可以直接跳到最后方删除该虚拟鸡的所有资讯,调整后再重新建立虚拟机。
设定并安装OS
透过上方指令后,会出现这画面开始作业系统基本设定。
- 透过UI (VNC方式) 进行设定
- 特过文字介面进行设定
这里透过文字介面即可( 输入2 后,按Enter )
接下来依序进行设定
语言设定( 输入1 后,按Enter )
直接选择英文即可
时区设定( 输入2 后,按Enter )
直接选择时区,选择台北即可
储存位置( 输入5 后,按Enter )
一路按C 即可,直接安装整个磁碟,可以根据个人需求做调整。
管理员密码( 输入8 后,按Enter )
连续输入两次管理员密码
新增使用者( 输入9 后,按Enter )
依序设定名称、密码、管理员群组等等
结束按c 回去菜单页面
开始安装
按b 开始安装
安装完成, 按enter 继续
登入与退出VM
输入使用者名称与密码可以直接进入
与一般关机不同,必须透过ctrl+] 方能退出
备注:
使用注音输入法,系统会误以为要输入】,请切换输入法后再输入 ctrl+] 方能退出
连线虚拟主机与查看虚拟主机资讯
# 列出所有 vm 资讯 virsh --connect qemu:///system list
# 查看指定vm详细资讯 (vm 更换成虚连线虚拟机名称) virsh --connect qemu:///system domifaddr vm
很好,还有其虚拟机的IP位址(可用ssh连线)
# 连线 指定名称虚拟机 (vm 更换成虚连线虚拟机名称)
virsh --connect qemu:///system console vm
# 亦可透过 ssh 进行连线
# (user 更换成vm中存在的user名称)
# (vm-ip 更换成虚连线虚拟机IP)
OK,两种连线方式都没问题
删除虚拟主机
# 强制关机并删除定义 (vm 更换成虚连线虚拟机名称)
virsh --connect qemu:///system destroy vm
virsh --connect qemu:///system undefine vm
# 删除vm本身的image资讯
# 此处与前方设定的vm储存位置有关系
sudo rm /var/lib/libvirt/images/vm.img