RHCE学习<10>LVM分区管理、软RAID和KVM虚拟机

简介:

一、LVM配置

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

132147466.png

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,实际页面都差不多,创建虚拟机的步骤就省略了,挺简单的!

164104505.png

164315505.png

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,如需转载请自行联系原作者

相关文章
|
8天前
|
Linux KVM 数据库
服务器数据恢复—服务器误删除KVM虚拟机数据恢复案例
服务器数据恢复环境: 一台服务器安装Linux操作系统+EXT4文件系统。服务器上运行数台KVM虚拟机,每台虚拟机包含一个qcow2格式的磁盘文件和一个raw格式的磁盘文件。 服务器故障: 工作人员操作失误删除了服务器上的3台KVM虚拟机,虚拟机中运行数据库,需恢复误删除虚拟机中raw格式的磁盘文件。
服务器数据恢复—服务器误删除KVM虚拟机数据恢复案例
|
10天前
|
分布式计算 大数据 Hadoop
【经验分享】用Linux脚本管理虚拟机下的大数据服务
【经验分享】用Linux脚本管理虚拟机下的大数据服务
20 1
|
10天前
|
弹性计算 Shell KVM
查看KVM 虚拟机中的网卡信息
【4月更文挑战第29天】
10 0
|
10天前
|
弹性计算 Shell KVM
快速克隆KVM 虚拟机
【4月更文挑战第29天】
19 3
|
10天前
|
弹性计算 Shell KVM
|
存储 资源调度 数据中心
|
10天前
|
虚拟化
vmware克隆虚拟机后没有ip地址的问题
解决vmware克隆虚拟机后没有内网ip的问题
|
10天前
|
SQL 存储 数据挖掘
【虚拟机数据恢复】VMware虚拟机文件被误删除的数据恢复案例
虚拟机数据恢复环境: 某品牌R710服务器+MD3200存储,上层是ESXI虚拟机和虚拟机文件,虚拟机中存放有SQL Server数据库。 虚拟机故障: 机房非正常断电导致虚拟机无法启动。服务器管理员检查后发现虚拟机配置文件丢失,所幸xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。服务器管理员在尝试恢复虚拟机的过程中,将原虚拟机内的xxx-flat.vmdk删除后新建了一个虚拟机,并分配了精简模式的虚拟机磁盘和快照数据盘,但原虚拟机内的数据并没有恢复。
【虚拟机数据恢复】VMware虚拟机文件被误删除的数据恢复案例
|
10天前
|
算法 虚拟化 C++
VMware虚拟机无法自适应和拖拽复制粘贴和共享目录问题
VMware虚拟机无法自适应和拖拽复制粘贴和共享目录问题
140 0

相关实验场景

更多