LINUX从零开始——SERVICES(系统&服务管理进阶)——Day1 [KVM构建及管理、virsh控制工具、镜像管理、虚拟机快建技术]

一、环境准备
1.开启一台虚拟机,以root用户登录

课程回顾:
1.如何查看当前系统SELinux运行模式?
getenforce

2.如何禁用SELinux?
/etc/selinux/config
需要重新启动操作系统

3.防护墙常见的区域有哪些?
public trusted block drop

4.如何统计/root目录下有多少文件?
find /root -type f | wc -l

5.yum客户端配置文件放在什么路径下?具体都有哪些字段?
/etc/yum.repos.d/*.repo
[] name baseurl enabled gpgcheck

6.周期性计划日志文件存放在哪里?
/var/log/cron

7.vim文本编辑器中如何复制以及粘贴?
yy p

8.构建Web服务器的软件有哪些?
httpd Nginx tomcat

9.启动vsftpd服务命令是什么?
systemctl restart vsftpd

10.小张在使用Yum安装软件时无法使用,可能的原因有哪些?
配置文件书写错误、没有挂载、其他错误文件的影响

11.仅拒绝harry用户访问/tmp目录如何实现?
setfacl -m u:harry:— /tmp

##########################################################################
二、服务管理
•Linux系统和服务管理器
–是内核引导之后加载的第一个初始化进程(PID=1)
–负责掌控整个Linux的运行/服务资源组合

•一个更高效的系统&服务管理器
–开机服务并行启动,各系统服务间的精确依赖
–配置目录:/etc/systemd/system/
–服务目录:/lib/systemd/system/
–主要管理工具:systemctl

•列出活动的系统服务
–systemctl -t service
•列出所有系统服务(包括不活动的)
–systemctl -t service --all

•对于服务的管理
systemctl restart 服务名 #重起服务
systemctl start 服务名 #开启服务
systemctl stop 服务名 #停止服务
systemctl status 服务名 #查看服务当前的状态

systemctl enable 服务名 #设置服务开机自启动
systemctl disable 服务名 #设置服务禁止开机自启动
systemctl is-enabled 服务名 #查看服务是否开机自启

虚拟机A
[root@A ~]# yum -y install httpd
[root@A ~]# systemctl restart httpd #重启服务
[root@A ~]# systemctl status httpd #查看服务的状态
[root@A ~]# systemctl enable httpd #设置开机自启动
[root@A ~]# systemctl is-enabled httpd #查看服务是否开机自启动

管理运行级别

RHEL6:运行级别

     0:关机   
     1:单用户模式(基本功能的实现,破解Linux密码)
 2:多用户字符界面(不支持网络) 
 3:多用户字符界面(支持网络)服务器默认的运行级别  
 4:未定义
 5:图形界面    
 6:重起  

切换运行级别:init  数字    

RHEL7:运行模式(运行级别)
字符模式:multi-user.target
图形模式:graphical.target

当前直接切换到字符模式
[root@svr7 /]# systemctl isolate multi-user.target #相当于原来的init 3

当前直接切换到图形模式
[root@svr7 /]# systemctl isolate graphical.target #相当于原来的init 5

查看每次开机默认进入模式
[root@svr7 /]# systemctl get-default

设置永久策略,每次开机自动进入multi-user.target
[root@svr7 /]# systemctl set-default multi-user.target
[root@svr7 /]# reboot

##########################################################################
三、Linux虚拟化平台

•virtualization 资源管理
–x个物理资源 --> y个逻辑资源
–实现程度:完全、部分、硬件辅助(CPU)

虚拟机A
1.关闭虚拟机,调整CPU参数,支持虚拟化
[root@A ~]# poweroff
双击“处理器”
在这里插入图片描述
在这里插入图片描述

[root@A ~]# lscpu | grep vmx #查看CPU是否支持硬件辅助虚拟化
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm mpx rdseed adx smap clflushopt xsaveopt xsavec arat
[root@A ~]#
2.双击内存调整为6G
在这里插入图片描述
在这里插入图片描述

3.常见的虚拟化软件
在这里插入图片描述

4.安装KVM虚拟化所需软件包
–qemu-kvm:为 kvm 提供底层仿真支持
–libvirt-daemon:libvirtd 守护进程,管理虚拟机
–libvirt-client:用户端软件,提供客户端管理命令
–libvirt-daemon-driver-qemu:libvirtd 连接 qemu 的驱动
–virt-manager:图形管理工具

[root@A ~]# yum -y install qemu-kvm
[root@A ~]# yum -y install libvirt-daemon
[root@A ~]# yum -y install libvirt-client
[root@A ~]# yum -y install libvirt-daemon-driver-qemu
[root@A ~]# yum -y install virt-manager

5.关闭虚拟机A添加一块全新的50G硬盘,扩展根分区的空间
[root@A ~]# poweroff
在这里插入图片描述

[root@A ~]# lsblk
[root@A ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): #回车
Using default response p
分区号 (1-4,默认 1): #回车
起始 扇区 (2048-104857599,默认为 2048): #回车
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-104857599,默认为 104857599): #回车
将使用默认值 104857599
分区 1 已设置为 Linux 类型,大小设为 50 GiB

命令(输入 m 获取帮助):w

[root@A ~]# lsblk

扩展卷组与逻辑卷
[root@A ~]# vgs
[root@A ~]# vgextend centos /dev/sdb1
[root@A ~]# vgs
[root@A ~]# lvextend -L +40G /dev/centos/root

[root@A ~]# lvs
[root@A ~]# blkid /dev/centos/root
[root@A ~]# xfs_growfs /dev/centos/root

6.在虚拟机A中利用Linux平台的kvm安装虚拟机
1)将光盘iso镜像文件传递到虚拟机A中
[root@A ~]# mkdir /iso
[root@A ~]# yum -y install lrzsz
在这里插入图片描述

[root@A ~]# du -sh /iso/
8.8G /iso/

2)安装虚拟机,操作系统的安装选择最小化安装
[root@A ~]# systemctl status libvirtd #虚拟化服务,默认开启的
Active: active (running)
[root@A ~]# virt-manager

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

强制关机,修改显示器设置,让其识别键盘
在这里插入图片描述
在这里插入图片描述

光盘文件放入光驱设备

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进行分区选择

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除根分区与swap分区,新建一个分区挂载点为根即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

##############################################################################
放弃虚拟机A的同学
可以在真机上新建一台VMware虚拟机,硬盘选择80G

在这里插入图片描述

修改CPU的参数,支持硬件辅助虚拟化

在这里插入图片描述

##############################################################################
四、管理Linux虚拟化平台

virsh命令工具介绍
•提供管理各虚拟机的命令接口
–支持交互模式,查看/创建/停止/关闭 … …
–格式:virsh 控制指令 [虚拟机名称] [参数]

•查看KVM节点(服务器)信息
–virsh nodeinfo
•列出虚拟机
–virsh list [–all]
•查看指定虚拟机的信息
–virsh dominfo 虚拟机名称
•运行|重启|关闭指定的虚拟机
–virsh start|reboot|shutdown 虚拟机名称
•强制关闭指定的虚拟机
–virsh destroy 虚拟机名称
•将指定的虚拟机设为开机自动运行
–virsh autostart [–disable] 虚拟机名称

•一台KVM虚拟机的组成
–xml配置文件(虚拟机描述文件):定义虚拟机的名称、UUID、CPU、内存、虚拟磁盘、网卡等各种参数设置
默认路径:/etc/libvirt/qemu
虚拟机名字:nsd01
虚拟机唯一标识:3eaaab1d-0def-4d7d-b767-97f91c64b1e5
虚拟机的磁盘文件:


虚拟机网卡信息:

–磁盘镜像文件:保存虚拟机的操作系统及文档数据,镜像路径取决于xml配置文件中的定义
默认路径:/var/lib/libvirt/images

•虚拟机的磁盘镜像文件格式

在这里插入图片描述
##############################################################################
五、虚拟机快速建立

1.创建新的磁盘镜像文件
[root@A ~]# du -sh /var/lib/libvirt/images/nsd01.qcow2
[root@A ~]# cp /var/lib/libvirt/images/nsd01.qcow2 /var/lib/libvirt/images/stu01.qcow2
[root@A ~]# ls /var/lib/libvirt/images/

2.新建xml配置文件
[root@A ~]# cd /etc/libvirt/qemu/
[root@A qemu]# cp nsd01.xml stu01.xml
[root@A qemu]# vim stu01.xml

虚拟机名字:stu01 #修改名字
虚拟机唯一标识:3eaaab1d-0def-4d7d-b767-97f91c64b1e5 #整行删除
虚拟机的磁盘文件:


#修改磁盘镜像文件路径及名称

虚拟机网卡信息:
#整行删除

[root@A ~]# uuidgen #补充:专门产生UUID命令
ad19e611-6acc-46c1-b496-ee75cfe2386b

3.导入虚拟机信息
[root@A qemu]# virsh define /etc/libvirt/qemu/stu01.xml #导入虚拟机信息
定义域 stu01(从 /etc/libvirt/qemu/stu01.xml)

[root@A qemu]# virsh list --all #查看所有的虚拟机
[root@A qemu]# virsh start stu01 #开启虚拟机stu01
[root@A qemu]# virt-manager #开启图形化管理虚拟机软件

常见错误:磁盘文件路径写错
1.创建新的磁盘镜像文件
[root@A /]# cd /var/lib/libvirt/images/
[root@A images]# cp nsd01.qcow2 stu02.qcow2
[root@A images]# ls

2.新建xml配置文件
[root@A images]# cd /etc/libvirt/qemu/
[root@A qemu]# cp nsd01.xml stu02.xml
[root@A qemu]# vim stu02.xml
虚拟机名字:stu02
虚拟机唯一标识:3eaaab1d-0def-4d7d-b767-97f91c64b1e5 #整行删除
虚拟机的磁盘文件:


#故意写错

虚拟机网卡信息:
#整行删除

3.导入虚拟机信息
[root@A qemu]# virsh define /etc/libvirt/qemu/stu02.xml #导入虚拟机信息
定义域 stu02(从 /etc/libvirt/qemu/stu02.xml)

[root@A qemu]# virsh list --all

[root@A qemu]# virsh start stu02
错误:开始域 stu02 失败
错误:Cannot access storage file ‘/var/lib/libvirt/images/stu02haha.qcow2’ (as uid:107, gid:107): 没有那个文件或目录

修复:
[root@A qemu]# vim /etc/libvirt/qemu/stu02.xml
虚拟机的磁盘文件:


#修改正确

[root@A qemu]# virsh define /etc/libvirt/qemu/stu02.xml #导入虚拟机信息
[root@A qemu]# virsh start stu02 #开启虚拟机
域 stu02 已开始
[root@A qemu]# virsh list --all
[root@A qemu]# virt-manager
[root@A qemu]# virsh destroy stu02 #关闭虚拟机stu02
域 stu02 被删除

[root@A qemu]# virsh list --all

补充命令:
[root@A /]# virsh list --all
[root@A /]# virsh dumpxml nsd01 #查看虚拟机nsd01的xml配置文件信息

新建虚拟机
[root@A /]# cd /var/lib/libvirt/images/
[root@A images]# cp nsd01.qcow2 stu03.qcow2
[root@A /]# virsh edit nsd01 #多合一命令,相当于修改加上导入
虚拟机名字:stu03
虚拟机唯一标识:3eaaab1d-0def-4d7d-b767-97f91c64b1e5 #整行删除
虚拟机的磁盘文件:


#故意写错

虚拟机网卡信息:
#整行删除

##############################################################################
六、快速建立虚拟机磁盘镜像文件

•Copy On Write(COW),写时复制
–直接映射原始盘(后端盘)的数据内容
–对前端盘的修改不回写到原始盘(后端盘)
–前端盘大小至少要和原始盘一样大小,最好前端盘比原始盘要大
–原始盘数据不允许修改

•qemu-img 通过 -b 选项复用指定后端盘
–qemu-img create -f qcow2 -b 后端盘 前端盘 [指定前端盘大小]
1.创建新的磁盘镜像文件
[root@A /]# cd /var/lib/libvirt/images/
[root@A images]# qemu-img create -f qcow2 -b nsd01.qcow2 abc01.qcow2 #根据原始盘nsd01.qcow2创建前端盘abc01.qcow2
[root@A images]# ls
[root@A images]# qemu-img info abc01.qcow2 #查看前端盘信息
image: abc01.qcow2
file format: qcow2
virtual size: 3.0G (3221225472 bytes) #虚拟大小3G
disk size: 196K #真正占用磁盘空间大小
cluster_size: 65536
backing file: nsd01.qcow2 #原始盘信息

2.新建xml配置文件
[root@A /]# virsh edit nsd01
虚拟机名字:abc01 #修改名字
虚拟机唯一标识:3eaaab1d-0def-4d7d-b767-97f91c64b1e5 #整行删除
虚拟机的磁盘文件:


#修改磁盘镜像文件路径及名称

虚拟机网卡信息:
#整行删除

3.查看虚拟机信息
[root@A qemu]# virsh list --all #查看所有的虚拟机
[root@A qemu]# virsh start abc01 #开启虚拟机abc01
[root@A qemu]# virt-manager #开启图形化管理虚拟机软件
[root@A /]# qemu-img info /var/lib/libvirt/images/abc01.qcow2

发布了0 篇原创文章 · 获赞 0 · 访问量 107

猜你喜欢

转载自blog.csdn.net/hufei_/article/details/105025582
今日推荐