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