ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

云计算之走进LINUX(三)

2019-10-20 20:51:18  阅读:268  来源: 互联网

标签:走进 虚拟机 svr7 libvirt etc virsh 计算 LINUX root


引言 


         [扩展应用]

        [发布网络YUM源]

        [vim编辑技巧]

        [源码编译安装]

        [KVM构建及管理]

        [virsh控制工具]

        [镜像管理]

        [虚拟机快建技巧]


第三部分  系统管理进阶


1.目录结构

[1]认识 Linux 的目录层次: – man hier
• 常见一级目录的用途
    /boot 存放系统引导必需的文件,包括内核、启动配置
    /bin、/sbin 存放各种命令程序
    /dev 存放硬盘、键盘、鼠标、光驱等各种设备文件
    /etc 存放 Linux 系统及各种程序的配置文件
    /root、/home/用户名 分别是管理员 root、普通用户的默认家目录
    /var 存放日志文件、邮箱目录等经常变化的文件
    /proc 存放内存中的映射数据,不占用磁盘
    /tmp 存放系统运行过程中使用的一些临时文件
[2]权限的数值表示
• 权限的数值化
– 基本权限:r = 4,w = 2,x = 1
– 附加权限:SUID = 4,SGID = 2,Sticky Bit = 1
[root@svr7 ~]# chmod 750 /nsd01
[3]历史命令
• 管理/调用曾经执行过的命令
    – history:查看历史命令列表
    – history -c:清空历史命令
    – !n:执行命令历史中的第 n 条命令
    – !str:执行最近一次以 str 开头的历史命令
• 调整历史命令的数量
[root@svr7 ~]# vim /etc/profile
    HISTSIZE=1000 //默认记录 1000 条
[root@svr7 ~]# history  #显示历史命令列表
[root@svr7 ~]# history -c  #清空所有的历史命令
[root@svr7 ~]# cat -n /etc/redhat-release
[root@svr7 ~]# !cat    #执行临时命令中最近以 cat 开头的命令
[4]实用小命令工具
• du,统计文件的占用空间
    – du [选项]... [目录或文件]...
    – -s:只统计每个参数所占用的总空间大小
    – -h:提供易读容量单位(K、M 等)
[root@svr7 ~]# du -sh /root
[root@svr7 ~]# du -sh /root/ /etc/ /boot/
[root@svr7 ~]# du -sh /
• date,查看/调整系统日期时间
– date +%F、date +%R
– date +"%Y-%m-%d %H:%M:%S"
– date -s "yyyy-mm-dd HH:MM:SS"
[root@svr7 ~]# date +%F    #显示 年-月-日
[root@svr7 ~]# date +%Y    #显示 年
[root@svr7 ~]# date +%m    #显示 月
[root@svr7 ~]# date +%d    #显示 日期 15
[root@svr7 ~]# date +%H    #显示 时
[root@svr7 ~]# date +%M    #显示 分
[root@svr7 ~]# date +%S      #显示 秒


 2.制作快捷方式

制作连接(链接)文件
制作软连接    格式: ln -s /路径/源文件  /路径/快捷方式名    #必须时绝对路径
]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
]# ln -s /etc/sysconfig/network-scripts/ifcfg-eth0    /etc/net0
]# ls /etc/net0
软连接特点:
若原始文件或目录被删除,连接文件将失效
软连接可存放在不同分区/文件系统
硬连接特点:
若原始文件被删除,连接文件仍可用
硬连接与原始文件必须在同一分区/文件系统
[root@svr7 ~]# ln -s /opt/A /opt/B     #制作软连接
[root@svr7 ~]# man 5 passwd #5 代表配置文件类型帮助信息


 3.zip 归档工具,跨平台的压缩格式

• 归档+压缩操作
– zip [-r] 备份文件.zip 被归档的文档...
[root@svr7 ~]# yum -y install zip
[root@svr7 ~]# zip -r /opt/file.zip /root/ /etc/passwd
[root@svr7 ~]# ls /opt
• 释放归档+解压操作
– unzip 备份文件.zip [-d 目标文件夹]
[root@svr7 ~]# yum -y install unzip
[root@svr7 ~]# unzip /opt/nsd.zip -d /mnt/
[root@svr7 ~]# ls /mnt/


 4.自定义 Yum 源

[root@svr7 ~]# yum -y install createrepo        #安装createrepo软件
[root@svr7 ~]# createrepo /tools/other/          #创建repodata目录(只要有datarepo目录即可做yum源)
[root@svr7 ~]# ls /tools/other/
[root@svr7 ~]# ls /tools/other/repodata
书写客户端配置文件
[root@svr7 ~]# vim /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever - Base
baseurl="ftp://192.168.4.254/centos-1804"
enabled=1
gpgcheck=0
[myrpm]
name=other rpm
root@192.168.4.7:/root/baseurl=file:///tools/other #指定为本机为 Yum 服务端
enabled=1
gpgcheck=0
[root@svr7 ~]# yum repolist


5.vim 编辑技巧
命令模式操作
[root@svr7 ~]# cp /etc/passwd /opt/a.txt
[root@svr7 ~]# vim /opt/a.txt
光标跳转
Home 键 或 ^、数字 0     跳转到行首
End 键 或“$”键    跳转到行尾
PgUp 键、PgDn 键  向上翻页、向下翻页
1G 或 gg        跳转到文件的首行
G        跳转到文件的末尾行
复制/粘贴/删除
复制 yy、3yy  复制光标处的一行、3 行
粘贴 p、P  粘贴到光标处之后、之前
x 或 Delete 键  删除光标处的单个字符
dd、#dd  删除光标处的一行、#行
d^  从光标处之前删除至行首
d$或 D(大写)  从光标处删除到行尾
C(大写)  从光标处删除到行尾,进入插入模式
查找/撤销/保存
/word  向后查找字符串“word”
n、N  跳至后/前一个结果
u  撤销最近的一次操作
U(大写)  撤销对当前行的所有修改
Ctrl + r  取消前一次撤销操作
ZZ(大写)  保存修改并退出
末行模式操作
:r /etc/filesystems 读入其他文件内容
[root@svr7 ~]# echo 123456 > /opt/2.txt
[root@svr7 ~]# echo hahaxixi > /opt/3.txt
[root@svr7 ~]# vim /opt/3.txt
:r /opt/2.txt  #读入/opt/2.txt 到当前文件
:r /etc/passwd  #读入/etc/passwd 到当前文件
字符串替换
:s/root/admin   替换当前行第一个“root”
:s/root/admin/g  替换当前行所有的“root”
:1,10 s/root/admin/g  替换第 1-10 行所有的“root”
:% s/root/admin/g   替换文件内所有的“root
[root@svr7 ~]# cat /etc/passwd > /opt/a.txt
[root@svr7 ~]# vim /opt/a.txt
开关参数的控制
:set nu 或 nonu 显示/不显示行号
:set ai 或 noai 启用/关闭自动缩进


 6.源码编译安装

RPM 包: rpm -ivh yum -y install
源码包----gcc make---->可以执行的程序-------->运行安装
• 主要优点
    – 获得软件的最新版,及时修复 bug
    – 软件功能可按需选择/定制,有更多软件可供选择
    – 源码包适用各种平台
步骤一:安装 gcc 与 make 开发工具
[root@svr7 ~]# yum -y install gcc
[root@svr7 ~]# yum -y install make
步骤二:进行 tar 解包
]# tar -xf /tools/inotify-tools-3.13.tar.gz -C /
]# cd /inotify-tools-3.13/
步骤三:运行 configure 脚本
作用 1:检测是否安装 gcc
作用 2:可以选择软件的功能,也可以指定软件安装的路径
--prefix=指定安装的位置
]# cd /inotify-tools-3.13/
]# ./configure    --prefix=/opt/myrpm
步骤四:make 编译生成可以执行的程序
]# cd /inotify-tools-3.13/
]# make
步骤五:make install 将可以执行的程序运行安装
]# cd /inotify-tools-3.13/
]# make install


 7.手动图形安装虚拟机名为 nsd01

虚拟化概述
• virtualization 资源管理
    – x 个物理资源 --> y 个逻辑资源
    46– 实现程度:完全、部分、硬件辅助(CPU)
    CPU 支持虚拟化所有的指令集(vmx)
    [student@room9pc01 ~]$ lscpu | grep vmx       #检测CPU是否支持虚拟化
• 虚拟化主要厂商及产品
VMware  VMware   Workstation、vSphere
Microsoft    VirtualPC、Hyper-V
RedHat       KVM、RHEV
Citrix           Xen
Oracle        Oracle VM VirtualBox


 8.虚拟机 nsd01 进行配置

1.配置永久主机名:kvm.tedu.cn
[root@localhost ~]# echo kvm.tedu.cn > /etc/hostname    #从定义主机名称
[root@localhost ~]# hostname kvm.tedu.cn
2.配置永久 IP 地址:192.168.4.30/24
[root@localhost ~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses  

192.168.4.30/24 connection.autoconnect yes    #配置IP地址
[root@localhost ~]# nmcli connection up eth0    #激活eth0网卡
[root@localhost ~]# ifconfig
3.修改防火墙默认区域与 SELinux
[root@kvm ~]# firewall-cmd --set-default-zone=trusted    #防火墙设置为允许

[root@kvm ~]# setenforce 0        #设置SELInux为宽松模式
[root@kvm ~]# getenforce
[root@kvm ~]# vim /etc/selinux/config    #配置文件修改SELinux为宽松模式
SELINUX=permissive
4.构建 Yum 仓库
]# cd /etc/yum.repos.d/
]# mkdir repo
]# mv *.repo repo
]# vim dvd.repo
[dvd]
name=centos7
baseurl=ftp://192.168.4.254/centos-1804
enabled=1
gpgcheck=0
]# yum repolist
]# yum -y install xeyes


 9.安装虚拟化服务器平台

• 主要软件包
– qemu-kvm :为 kvm 提供底层仿真支持
– libvirt-daemon :libvirtd 守护进程,管理虚拟机
– libvirt-client :用户端软件,提供客户端管理命令
– libvirt-daemon-driver-qemu :libvirtd 连接 qemu 的驱动
– virt-manager :图形管理工具
]# yum -y install qemu-kvm
]# yum -y install libvirt-daemon
]# yum -y install libvirt-client
]# yum -y install libvirt-daemon-driver-qemu
]# yum -y install virt-manager
虚拟化服务: libvirtd
[root@kvm /]# systemctl status libvirtd #查看服务的状态


 10.通过命令管理虚拟机

virsh 命令工具介绍
• 提供管理各虚拟机的命令接口
– 支持交互模式,查看/创建/停止/关闭 .. .. – 格式:virsh 控制指令 [虚拟机名称] [参数] • 查看 KVM 节点(服务器)信息
]$ virsh nodeinfo
• 列出虚拟机
]$ virsh list [--all] #重点
• 列出虚拟网络
]$ virsh net-list [--all] • 查看指定虚拟机的信息
]$ virsh dominfo 虚拟机名称 #重点
]$ virsh autostart nsd01 #设置虚拟机开机自启动
]$ virsh autostart --disable nsd01 #禁止虚拟机开机自启动
• 开关机操作
]$ virsh start 或 reboot 或 shutdown 虚拟机名称 #重点
• 强制关闭指定的虚拟机
]$ virsh destroy 虚拟机名称 #重点


 11.一台 KVM 虚拟机的组成

– xml 配置文件(虚拟机描述文件):定义虚拟机的名称、UUID、CPU、内
存、虚拟磁盘、网卡等各种参数设置
[student@room9pc01 ~]$ ls /etc/libvirt/qemu/ – 磁盘镜像文件:保存虚拟机的操作系统及文档数据, 镜像路径取决于 xml 配置文件中的定义
[student@room9pc01 ~]$ ls /var/lib/libvirt/images/
查看虚拟机 xml 文件内容
[student@room9pc01 /]$ virsh dumpxml nsd01
虚拟机名称
虚拟机的 UUID 唯一标识
虚拟机磁盘文件路径
<source file='/var/lib/libvirt/images/nsd01.qcow2'/>
虚拟机网卡信息
<interface type='network'>
<mac address='52:54:00:d4:fe:59'/>
[student@room9pc01 /]$ virsh dumpxml nsd01 | less


 12.在命令行手动制作一台虚拟机

[1].磁盘镜像文件
]$ cd /var/lib/libvirt/images/
]$ du -sh .node_base.qcow2
]$ cp .node_base.qcow2 nsd02.qcow2
]$ du -sh nsd02.qcow2
[2].建立新的 xml 配置文件, uuidgen 可以生成随机的 UUID 值
]$ cd /etc/libvirt/qemu/
]$ virsh dumpxml nsd01 > /etc/libvirt/qemu/nsd02.xml
]$ vim /etc/libvirt/qemu/nsd02.xml
1)虚拟机名称 <name>nsd02</name>
2)虚拟机的 UUID 唯一标识 删除整行内容 UUID
3)虚拟机磁盘文件路径 <source file='/var/lib/libvirt/images/nsd02.qcow2'/>
4)虚拟机网卡信息
<mac address='52:54:00:d4:fe:59'/> 删除整行内容
[3].导入虚拟机配置信息
]$ virsh define /etc/libvirt/qemu/nsd02.xml
]$ virsh list --all
]$ virsh start nsd02
命令行删除虚拟机
]$ virsh list --all
]$ virsh destroy nsd02 #强制关闭虚拟机
域 nsd02 被删除
]$ virsh list --all
]$ virsh undefine nsd02 #删除虚拟机 xml 配置文件
域 nsd02 已经被取消定义
]$ virsh list --all
]$ rm -rf /var/lib/libvirt/images/nsd02.qcow2 #手动删除


 [1].建立新的磁盘文件

]$ cp /var/lib/libvirt/images/.node_base.qcow2 /tmp/nsd03.qcow2
]$ du -sh /tmp/nsd03.qcow2
[2].建立 xml 配置文件
]$ virsh dumpxml nsd01 > /home/student/nsd03.xml
]$ ls /home/student/nsd03.xml
]$ vim /home/student/nsd03.xml
1)虚拟机名称 <name>nsd03</name>
2)虚拟机的 UUID 唯一标识 删除整行内容 UUID
3)虚拟机磁盘文件路径 <source file='/tmp/nsd03.qcow2'/>
4)虚拟机网卡信息
<mac address='52:54:00:d4:fe:59'/> 删除整行内容
[3].导入虚拟机配置信息
]$ ls /etc/libvirt/qemu
]$ virsh define /home/student/nsd03.xml         #导入虚拟机信息
]$ ls /etc/libvirt/qemu
]$ virsh start nsd03
]$ virsh list


 15.三合一:导出 修改 导入

• 对虚拟机的配置进行调整
– 编辑:virsh edit 虚拟机名
1.建立磁盘文件
]$ cp /var/lib/libvirt/images/.node_base.qcow2 /var/lib/libvirt/images/nsd04.qcow2
]$ du -sh /var/lib/libvirt/images/nsd04.qcow2
2.建立 xml 配置文件
[student@room9pc01 /]$ virsh edit nsd01    #编辑虚拟主机配置
1)虚拟机名称 <name>nsd04</name>
2)虚拟机的 UUID 唯一标识 删除整行内容 UUID
3)虚拟机磁盘文件路径 <source file='/var/libvirt/images/nsd04.qcow2'/>
4)虚拟机网卡信息
<mac address='52:54:00:d4:fe:59'/> 删除整行内容
[student@room9pc01 /]$ virsh list --all
常用镜像盘类型
• 虚拟机的磁盘镜像文件格式
特点\类型     RAW     QCOW2
KVM 默认       否       是
I/O 效率       高       较高
占用空间      大       小
压缩       不支持       支持
后端盘复用    不支持       支持
快照       不支持       支持
查看磁盘镜像文件信息
]$ qemu-img info /var/lib/libvirt/images/nsd04.qcow2
virtual size: 2.0G (2147483648 bytes) #虚拟大小
disk size: 633M #实际占用空间
COW 技术原理
• Copy On Write,写时复制
– 直接映射原始盘的数据内容
– 当原始盘的旧数据有修改时,在修改之前自动将旧数据存入前端盘
– 对前端盘的修改不回写到原始盘
– 原始盘的数据不能做修改
快速创建 qcow 前端盘
• qemu-img 通过 -b 选项复用指定原始盘
– qemu-img create -f qcow2 -b 原始盘 前端盘 大小
1.命令手动创建虚拟机磁盘文件
]$ cd /var/lib/libvirt/images/
]$ qemu-img create -f qcow2 -b .node_base.qcow2 nsd05.qcow2 5G #通过原始盘产生前端盘
]$ qemu-img info nsd05.qcow2 #查看虚拟磁盘文件信息
virtual size: 5.0G (5368709120 bytes) #虚拟大小
disk size: 196K #实际占用空间大小
backing file: .node_base.qcow2 #原始盘
2.建立 xml 文件
]$ virsh dumpxml nsd01 > /tmp/nsd05.xml #导出虚拟机信息
]$ vim /tmp/nsd05.xml #修改 虚拟机名 UUID 磁盘路径 网卡 MAC
]$ virsh define /tmp/nsd05.xml
离线访问虚拟机
• 使用 guestmount 工具
– 支持离线挂载 raw、qcow2 格式虚拟机磁盘
– 可以在虚拟机关机的情况下,直接修改磁盘中的文档
– 方便对虚拟机定制、修复、脚本维护
]$ virsh destroy nsd01
]$ guestmount -a /var/lib/libvirt/images/nsd01.qcow2 -i /mnt/



 



 

标签:走进,虚拟机,svr7,libvirt,etc,virsh,计算,LINUX,root
来源: https://www.cnblogs.com/kubaike/p/11663076.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有