博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RHCE学习<10>LVM分区管理、软RAID和KVM虚拟机
阅读量:6692 次
发布时间:2019-06-25

本文共 5508 字,大约阅读时间需要 18 分钟。

一、LVM配置

1、基本步骤:PV -> VG -> LV -> 格式化挂载使用

2、创建LVM卷

1
2
3
4
5
pvcreate 
/dev/sdb1
vgcreate myvg 
/dev/sdb1 
#加-s指定PE块大小,默认是4M
lvcreate -n mylv -L 10G myvg 
#-L指定逻辑卷的大小
mkfs.ext4 
/dev/myvg/mylv
mount 
/dev/myvg/mylv 
/data

查看命令:pvdisplay,vgdisplay,lvdisplay

3、扩容卷组

使用fdisk /dev/sdc分区并指定8e类型(Linux LVM)

1
2
3
4
pvcreate 
/dev/sdc1
vgextend myvg 
/dev/sdc1
vgdisplay 
#查看扩容成功
移除pv使用:lvreduce myvg 
/dev/sdc1

4、扩容逻辑卷LV

1
2
3
lvextend -L 5G 
/dev/myvg/mylv 
#-L增加5G的容量
resize2fs 
/dev/myvg/mylv 
#更新扩容的文件系统
lvdisplay 
#查看扩容成功

5、缩小LV

1
2
3
4
5
umount 
/dev/myvg/mylv  
#必须先卸除挂载逻辑卷
#resize2fs -p /dev/myvg/mylv 5G #将文件系统缩小到5G
lvreduce 
/dev/myvg/mylv 
-L 5G 
#将逻辑卷缩小5G
mount 
/dev/myvg/mylv 
/data 
#重新挂载使用
df 
-h 
#查看当前大小成功

6、缩小VG

VG中必须要有足够多的未分配空间(PE)应不少于要移走的物理卷的大小。

1
2
3
pvremove 
/dev/sdb1 
/dev/sda1 
#将/dev/sdb1数据移到/dev/sba1中
vgreduce myvg 
/dev/sdb1 
#将/dev/sdb1从卷组中移出
pvremove 
/dev/sdb1 
#将/dev/sdb从物理卷中移出

7、逻辑卷快照对逻辑卷进行备份和还原

当我们给逻辑卷做一个快照的时候,快照会备份逻辑卷中当时所有的数据的节点号,只是节点号,而并非真正的数据。所有快照的大小很小。当我们删除逻辑卷中的数据的时候,其实并没有删除逻辑卷中的真正数据,而只是删除了节点号。而快照中备份了节点号,所以删除了逻辑卷中的数据,在快照中依然会存在数据。

1>.备份逻辑卷

1
2
3
4
5
mount 
/dev/myvg/mylv 
/data
cp 
/usr/local/
/data 
#复制数据到/data下,准备模拟用
lvcreate -n testsnap -L 50M -p r -s 
/dev/myvg/mylv 
#创建逻辑卷快照名为testsnap,大小是50M,-p r为只读的,防止使用,-s统计备份所需空间
mkdir 
/snap
mount 
/dev/myvg/mylv 
/snap 
#可以直接挂载快照,现在/snap的数据和/data的数据是一样的

使用dump工具备份逻辑卷快照文件

1
dump -0u -f 
/backup/snap-backup
.dump 
/snaphot

-0u:0是完整备份,u是更新dump数据库文件时间等信息

-f:指定备份名字

2>.模拟快照和逻辑卷数据清空

1
2
3
4
5
6
umount 
/snaphot
lvremove 
/dev/myvg/testsnap 
#移除快照卷
umount 
/data
mkfs.ext4 
/dev/myvg/mylv 
#格式化逻辑卷,这下数据彻底空了,再重新到/data
mount 
/dev/myvg/mylv 
/data
cd 
/data 
#查看数据都没有了

利用备份快照恢复数据:

1
2
restore -rf 
/backup/snap-backup
.dump
ls 
/data 
#数据数据恢复成功!

二、RAID磁盘阵列

在Linux系统中做软RAID,磁盘阵列的设备可以基于磁盘,也可以基于分区。

软RAID:由操作系统实现,所以要占用CPU,受OS稳定性影响,受磁盘速度接口影响。

硬RAID:使用RAID卡,不会占用系统资源,不受OS和磁盘接口影响。

现在系统中有一块sda,新添加了4块磁盘,3块做磁盘阵列设备sdb、sdc和sde,sdf一块预备盘。

1、创建RAID5

主要使用mdadm命令进行组建RAID5,没有这个命令的,需要安装mdadm。

1
mdadm --create --auto=
yes 
/dev/md0 
--level=5 --raid-devices=3 --spare-devices=1 
/dev/sdb 
/dev/sdc 
/dev/sde

参数说明:

--create:创建raid

--auto=yes /dev/md0:创建软raid的设备名是md0

--level=5:创建raid的级别是5

--raid-devices=3:磁盘阵列用的磁盘数

--spare-devices=1:预备盘数

/dev/sdb /dev/sbc /dev/sde:磁盘阵列所使用的设备

这条命令也可以简写为:

1
2
mdadm -C 
/dev/md0 
-l5 -n3 -x1 
/dev/sdb 
/dev/sdc 
/dev/sde
mdadm --detail 
/dev/md0 
#查看raid详细信息,组建raid需要一点时间,耐心等候

raid信息保存在/proc/mdadm,可以用cat /proc/mdadm查看raid运行状况

2、格式化并挂载创建的RAID

1
2
3
4
mkfs.ext4 
/dev/md0
mkdir 
/raid5
mount 
/dev/md0 
/mnt/raid5
df 
-h 
#查看是否是三块容量的70%

3、设置开机自动挂载RAID

1
2
vi 
/etc/fstab
/dev/md0 
/raid5 
ext4 defaults 0 0

4、模拟一块磁盘损坏,我们设置的那一块磁盘会立即替代损坏的磁盘,进行RAID重建

1
2
3
mdadm --manage 
/dev/md0 
--fail 
/dev/sdb 
#这条命令是模拟/dev/sdb损坏
mdadm --detail 
/dev/md0 
#查看faild devices坏了一块/dev/sdb
cat 
/proc/mdadm  
#现在可以查看重建过程

5、移除损坏的磁盘,加入新的磁盘

1
2
3
mdadm --manage 
/dev/md0 
--remove 
/dev/sdb 
#移除损坏磁盘/dev/sdb
mdadm --manage 
/dev/md0 
--add 
/dev/sdg 
#添加新磁盘/dev/sdg
mdadm --detail 
/dev/md0 
#查看现在/dev/sdg成为了备用磁盘

6、维护命令

1
2
3
umount 
/dev/md0   
#关闭RAID
mdadm -stop 
/dev/md0
mdadm -R 
/dev/md0  
#开启RAID

可以在做好的raid5上面,来创建LVM,raid0和raid1也是常用的,也要多去练习下。

7、RAID0创建命令

1
mdadm -C 
/dev/md0 
-a 
yes 
-L 0 -n 2 
/dev/sdb 
/dev/sdc

三、搭建KVM虚拟机

RHCL6 KVM支持条件:rhel-server-6.0_x64和cpu支持虚拟化

查看cpu是否支持虚拟化技术:cat /proc/cpuinfo |grep "vmx svm"

svm:AMD处理器虚拟化支持,vmx:intel处理器虚拟化支持

1、安装KVM所需软件

1
yum 
install 
-y qemu-kvm qemu-img python-virtinst bridge-utils libvirt virt-manager

软件包说明

qemu-kvm:kvm虚拟化模块

qemu-img:使用qemu创建磁盘,启动虚拟机等

python-virtinst:用来记录创建vm时的xml文件

bridge-utils:网络支持工具

libvirt:虚拟机管理工具,使用virsh来管理虚拟机

virt-manager:图形页面管理虚拟机工具

2、修改相关配置

1
2
3
4
5
6
service libvirtd start
chkconfig libvirtd on
vi 
/etc/libvirt/qemu
.conf
vnc_listen = 
"0.0.0.0" 
#修改vnc监听所有端口
vnc_password = 
"123456" 
#设置vnc登录密码
重启系统!

3、检查kvm模块是否安装完成

1
2
lsmod |
grep 
kvm 
#显示两个模块kvm_amd和kvm_intel
virsh list 
#检查物理虚拟化完成情况

4、网络配置,在libvirt中KVM只有两种方法:网络地址转换(NAT)和桥接模式

创建桥接模式文件:

1
2
3
4
5
6
7
8
9
vi 
/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOORPROTO=static
ONBOOT=
yes
IPADDR=192.168.0.200
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8

配置eth0:

1
2
3
4
5
vi 
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=
yes
BRIDGE=br0
NM_CONTROLLED=no 
#设备eth0是否被NetworkManager管理工具托管

配置完成,重启网卡:service network restart

查看桥接网络:brctl show

5、通过virt-manager图形页面创建虚拟机、管理本地KVM等,可以装一个VNC远程桌面来操作KVM主机,我这里使用的CentOS6,实际页面都差不多,创建虚拟机的步骤就省略了,挺简单的!

6、通过命令创建虚拟机

1
virt-
install 
--name win2003 --
ram 
512 --vcpus=1 --disk path=
/home/kvm/img/win2003
.img,size=20 --cdrom 
/var/iso/Win2003
.sp2.iso --vnclisten=192.168.0.205 --graphics vnc,password=123456,port=5910, --network bridge=br0 --force --autostart

7、virsh常用命令

格式:virsh [command] [args...]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
help 
#显示该命令的说明
quit 
#结束 virsh,回到 Shell
connect 
#连接到指定的虚拟机服务器
Create 
#启动一个新的虚拟机
destroy 
#强制关闭一个虚拟机
start 
#开启(已定义的)非启动的虚拟机
define 
#从 XML 定义一个虚拟机
undefine 
#取消定义的虚拟机
dumpxml 
#转储虚拟机的设置值
list 
#列出虚拟机
reboot 
#重新启动虚拟机
save 
#存储虚拟机的状态
restore 
#回复虚拟机的状态
suspend 
#暂停虚拟机的执行
resume 
#继续执行该虚拟机
dump 
#将虚拟机的内核转储到指定的文件,以便进行分析与排错
shutdown 
#关闭虚拟机
setmem 
#修改内存的大小
setmaxmem 
#设置内存的最大值
setvcpus 
#修改虚拟处理器的数量

8、配置虚拟机在宿主主机每次启动后自动启动

1>.应用程序――系统工具――虚拟系统管理器

2>. 双击要设置的虚拟机

3>. 在“查看”菜单中选择“详情”

4>. 在“boot options”选项中勾选“start virtual machine on host boot up”选项

5>. 单击“应用”

6>. 修改/etc/sysconfig/libvirt-guests文件:ON_BOOT=ignore

9、kvm虚拟机克隆后网卡无法启动解决办法:

1>.修改/etc/udev/rules.d/70-persistent-net.rules文件,删除第一个网卡记录,并将第二个的NAME="eth1"改为NAME="eth0"

2>.如果在/etc/sysconfig/network-scripts/ifcfg-eth0中有配置网卡信息的话,如:#HWADDR="00:0C:29:C8:1A:92",将其注释

3>.重新启动系统。

本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1304598,如需转载请自行联系原作者

你可能感兴趣的文章
“互联网+”城市服务指尖上的城市服务时代来临
查看>>
Configure and Practice Backup and Recovery in Cloud
查看>>
光纤通道第六代了,FC存储网络与IP存储网络之争还在延续
查看>>
挫败APT攻击从网络安全基础工作做起
查看>>
三种移动处理器(ARM, Intel和MIPS)之间的主要区别
查看>>
移植Linux操作系统时候遇到的问题
查看>>
干货技巧Windows 10的备份功能
查看>>
性能分析软件之yourkit入门介绍
查看>>
软银董事长孙正义:我要做科技产业的巴菲特
查看>>
光伏业界大佬呼吁重视产能过剩隐忧
查看>>
国家林业局运维呼叫中心正式启用
查看>>
如何使情况变得更糟?
查看>>
java反射机制的实现原理
查看>>
处于隐身模式的三个存储新星:Gluent、Tachyum和VAST Data
查看>>
Facebook收购社交分析工具开发商CrowdTangle
查看>>
开源中国翻译频道贡献第 9 期(5-6月)奖励名单
查看>>
《Oracle高性能自动化运维》一一1.3 Linux内存体系的优势
查看>>
22 个出口节点对 Tor 网络发动中间人攻击
查看>>
《Python数据挖掘:概念、方法与实践》——第2章关联规则挖掘
查看>>
AngularJS 和 Polymer 的角色,是否有竞争关系
查看>>