首页
导航
博客
电子书
算法
众创
代码
随贴
关于我们
您好,欢迎来到码863代码分享网! 请
[登录]
/
[注册]
搜 索
标题:
*
140
字
TAG标签:
(用空格隔开)
30
字
恢复历史版本:
请选择分类
html
python
javascript
php
sql
c
c++
c#
java
plain
所有人可见
仅自己可见
编辑器:UEditor
编辑器:TinyMCE
编辑器:Editor.md
HTML转MD
HTML转MD2
<p>一、简介<br/>二、版本<br/>三、LVM 模块<br/>四、具体操作<br/><br/>对添加的硬盘进行分区(fdisk /dev/[hs]d[a-z])<br/><br/>对创建的分区创建物理卷(pvcreate) <br/><br/>给逻辑卷创建逻辑容器(卷组)<br/><br/>在卷组创建大小不同的逻辑卷(lvcreate)<br/><br/>给以存在的卷组扩大容量<br/><br/>实现在线扩大LVM容量 <br/><br/>实现缩减LVM容量(不支持在线缩减) <br/><br/>减小卷组容量<br/><br/>利用给LVM创建快照,并完成备份并还原数据<br/><br/>一、简介<br/>LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,于1998年发布到Linux社区中,它允许你在Linux系统上用简单的命令行管理一个完整的逻辑卷管理环境。<br/><br/>二、版本<br/>LVM1 最初的LVM与1998年发布,只在Linux内核2.4版本上可用,它提供最基本的逻辑卷管理。<br/>LVM2 LVM-1的更新版本,在Linux内核2.6中才可用,它在标准的LVM-1功能外还提供了额外的功能。<br/><br/>查看:(测试机CentOS 5.5 X86_64)<br/> [root@localhost ~]# uname -a<br/>Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux <br/>[root@localhost ~]# uname -r <br/>2.6.18-194.el5 <br/>[root@localhost ~]# rpm -qa | grep lvm <br/>lvm2-2.02.56-8.el5 <br/>[root@localhost ~]#<br/>三、LVM 模块<br/>Physical volume (PV)、Volume group (VG)、Logical volume(LV)、 Physical extent (PE),下面我们用一个简单的图来说明下物理卷、卷组、逻辑卷他们之间的关系(此图只是个人理解,仅供参考)<br/><br/>简而言之: <br/>逻辑卷的创建,就是将多块硬盘创建物理卷,而将这些物理卷以逻辑的形式总成一个容器,然后从这个容器里面创建大小不同的分区文件,而这个容器就是所谓的逻辑卷,而从这个容器里创建大小不同的分区文件,这个分区文件就叫做逻辑卷。嘿嘿,你懂了吗? ^_^ ……<br/>四、具体操作<br/><br/>1. 分区<br/><br/>root@localhost ~]# fdisk –l #查看已存在的分区与硬盘<br/>Disk /dev/sda: 21.4 GB, 21474836480 bytes <br/>255 heads, 63 sectors/track, 2610 cylinders <br/>Units = cylinders of 16065 * 512 = 8225280 bytes<br/>Device Boot Start End Blocks Id System <br/>/dev/sda1* 1 33 265041 83 Linux <br/>/dev/sda234 1308 10241437+ 83 Linux IT网,http://www.it.net.cn<br/>/dev/sda31309 1945 5116702+ 83 Linux <br/>/dev/sda41946 2610 5341612+ 5 Extended <br/>/dev/sda51946 2072 1020096 82 Linux swap / Solaris<br/>Disk /dev/sdb: 21.4 GB, 21474836480 bytes <br/>255 heads, 63 sectors/track, 2610 cylinders <br/>Units = cylinders of 16065 * 512 = 8225280 bytes<br/>Disk /dev/sdbdoesn't contain a valid partition table<br/>Disk /dev/sdc: 21.4 GB, 21474836480 bytes <br/>255 heads, 63 sectors/track, 2610 cylinders <br/>Units = cylinders of 16065 * 512 = 8225280 bytes<br/>Disk /dev/sdcdoesn't contain a valid partition table<br/>[root@localhost ~]# fdisk /dev/sdb #给/sdb分区,效果如下<br/>Command (m forhelp): p<br/>Disk /dev/sdb: 21.4 GB, 21474836480 bytes <br/>255 heads, 63 sectors/track, 2610 cylinders <br/>Units = cylinders of 16065 * 512 = 8225280 bytes<br/>Device Boot Start End Blocks Id System <br/>/dev/sdb11 244 1959898+ 8e Linux LVM #注意修改分区类型为8e <br/>/dev/sdb2245 488 1959930 8e Linux LVM <br/>/dev/sdb3489 732 1959930 8e Linux LVM<br/>Command (m forhelp):<br/>[root@localhost ~]# partprobe #让内核重新读取一下硬盘<br/>[root@localhost ~]# fdisk -l /dev/sdb<br/>Disk /dev/sdb: 21.4 GB, 21474836480 bytes Linux学习,http:// linux.it.net.cn<br/>255 heads, 63 sectors/track, 2610 cylinders <br/>Units = cylinders of 16065 * 512 = 8225280 bytes<br/>Device Boot Start End Blocks Id System <br/>/dev/sdb11 244 1959898+ 8e Linux LVM <br/>/dev/sdb2245 488 1959930 8e Linux LVM <br/>/dev/sdb3489 732 1959930 8e Linux LVM <br/><br/>[root@localhost ~]#<br/><br/>2. 将物理分区与硬盘创建为物理卷(pvcreate)<br/><br/> [root@localhost ~]# pvcreate /dev/sdb[1-3] #将分区创建为物理卷 <br/>Physical volume "/dev/sdb1"successfully created <br/><br/>Physical volume "/dev/sdb2"successfully created <br/>Physical volume "/dev/sdb3"successfully created <br/>[root@localhost ~]#<br/>[root@localhost ~]# pvcreate /dev/sdc #将硬盘创建为物理卷 <br/>Physical volume "/dev/sdc"successfully created<br/>[root@localhost ~]# pvs #查看创建的物理卷 <br/>PV VG Fmt Attr PSize PFree <br/>/dev/sdb1myvg lvm2 a- 1.87G 1.87G <br/>/dev/sdb2myvg lvm2 a- 1.87G 1.87G <br/>/dev/sdb3myvg lvm2 a- 1.87G 1.87G <br/>/dev/sdcmyvg lvm2 a- 20.00G 20.00G<br/><br/><br/>3. 将物理卷(pv)创建为卷组(vgcreate),名为myvg<br/><br/>[root@localhost ~]# vgcreate myvg /dev/sdb[1-3] /dev/sdc<br/>Volume group "myvg"successfully created <br/><br/>[root@localhost ~]# vgs <br/>VG #PV #LV #SN Attr VSize VFree <br/>myvg 4 0 0 wz--n- 25.60G 25.60G <br/><br/>[root@localhost ~]#<br/>[root@localhost ~]# vgdisplay <br/><br/>--- Volume group --- <br/>VG Name myvg #卷组名 <br/>System ID <br/>Format lvm2 <br/>Metadata Areas 4 <br/>Metadata Sequence No 1 <br/>VG Access read/write<br/>VG Status resizable <br/>MAX LV 0 <br/>Cur LV 0 <br/>Open LV 0 <br/>Max PV 0 <br/>Cur PV 4 <br/>Act PV 4 <br/>VG Size 25.60 GB <br/>PE Size 4.00 MB #物理盘的基本单位:默认4MB <br/>Total PE 6553 <br/>Alloc PE / Size 0 / 0<br/>Free PE / Size 6553 / 25.60 GB <br/>VG UUID wuNBgb-tP95-pVoX-ehHw-cMfN-hyem-PNMqwe <br/>[root@localhost ~]#<br/><br/><br/>4. 在卷组里创建逻辑卷并格式化、挂载使用<br/><br/> [root@localhost ~]# lvcreate -L 2G -n mylv1 myvg #创建逻辑卷 <br/>Logical volume "mylv1"created <br/>[root@localhost ~]# lvs #查看逻辑卷 <br/>LV VG Attr LSize Origin Snap% Move Log Copy% Convert <br/>mylv1 myvg -wi-a- 2.00G <br/>[root@localhost ~]# mke2fs -j /dev/myvg/mylv1 #格式化逻辑卷 <br/>mke2fs 1.39 (29-May-2006) <br/>Filesystem label= <br/>OS type: Linux <br/>Block size=4096 (log=2) <br/>Fragment size=4096 (log=2) <br/>262144 inodes, 524288 blocks <br/>26214 blocks (5.00%) reserved forthe super user <br/>First data block=0 <br/>Maximum filesystem blocks=536870912 <br/>16 block groups<br/>32768 blocks per group, 32768 fragments per group <br/>16384 inodes per group <br/>Superblock backups stored on blocks: <br/>32768, 98304, 163840, 229376, 294912<br/>Writing inode tables: done<br/>Creating journal (16384 blocks): done<br/>Writing superblocks and filesystem accounting information: done<br/>This filesystem will be automatically checked every 26 mounts or IT网,http://www.it.net.cn<br/>180 days, whichever comes first. Use tune2fs -c or -i to override. <br/>[root@localhost ~]# mkdir /mydata #创建挂载目录 <br/>[root@localhost ~]# mount /dev/myvg/mylv1 /mydata/ #挂载<br/>[root@localhost ~]# mount #查看是否挂载成功 <br/>/dev/sda2on / typeext3 (rw) <br/>proc on /proctypeproc (rw) <br/>sysfs on /systypesysfs (rw) <br/>devpts on /dev/ptstypedevpts (rw,gid=5,mode=620) <br/>/dev/sda3on /datatypeext3 (rw) <br/>/dev/sda1on /boottypeext3 (rw) <br/>tmpfs on /dev/shmtypetmpfs (rw) <br/>none on /proc/sys/fs/binfmt_misctypebinfmt_misc (rw) <br/>sunrpc on /var/lib/nfs/rpc_pipefstyperpc_pipefs (rw) <br/>/dev/mapper/myvg-mylv1on /mydatatypeext3 (rw) <br/>[root@localhost ~]#<br/>[root@localhost ~]# ls /mydata/ #查看 IT网,http://www.it.net.cn<br/>lost+found <br/>[root@localhost ~]# df –h #查看硬盘 <br/>Filesystem Size Used Avail Use% Mounted on <br/>/dev/sda29.5G 1.8G 7.2G 20% / <br/>/dev/sda34.8G 138M 4.4G 4% /data<br/>/dev/sda1251M 17M 222M 7% /boot<br/>tmpfs 60M 0 60M 0% /dev/shm<br/>/dev/mapper/myvg-mylv1<br/>2.0G 68M 1.9G 4% /mydata<br/>[root@localhost ~]#<br/><br/><br/>5. 发现卷组空间不够,我们扩大卷组空间 <br/><br/>[root@localhost ~]# pvcreate /dev/sdd #将新硬盘/sdd加入物理卷中 <br/>Physical volume "/dev/sdd"successfully created<br/>[root@localhost ~]# pvs #查看物理卷 <br/>/dev/cdrom: openfailed: No medium found <br/>PV VG Fmt Attr PSize PFree <br/>/dev/sdb1myvg lvm2 a- 1.87G 1.87G <br/>/dev/sdb2myvg lvm2 a- 1.87G 1.87G <br/>/dev/sdb3myvg lvm2 a- 1.87G 1.87G <br/>/dev/sdcmyvg lvm2 a- 20.00G 18.00G <br/>/dev/sddmyvg lvm2 a- 20.00G 20.00G <br/>[root@localhost ~]#<br/>[root@localhost ~]# vgextend myvg /dev/sdd #扩展卷组 <br/>Volume group "myvg"successfully extended <br/>[root@localhost ~]# vgs #查看新增加的卷组 <br/>VG #PV #LV #SN Attr VSize VFree <br/>myvg 5 1 0 wz--n- 45.59G 43.59G <br/>[root@localhost ~]#<br/><br/><br/><br/><br/><br/>6. 扩展逻辑卷 (支持在线扩展)<br/><br/>将/dev/myvg/mylv1扩展到4G,并且要求数据可以正常访问<br/>[root@localhost ~]# cd /mydata/ <br/>[root@localhost mydata]# touch index.html <br/>[root@localhost mydata]# echo "test" > index.html <br/>[root@localhost mydata]# cat index.html <br/>test<br/>[root@localhost mydata]# vgs <br/>/dev/cdrom: openfailed: No medium found <br/>VG #PV #LV #SN Attr VSize VFree <br/>myvg 5 1 0 wz--n- 45.59G 43.59G <br/>[root@localhost mydata]# lvextend -L +2G /dev/myvg/mylv1<br/>Extending logical volume mylv1 to 4.00 GB <br/>Logical volume mylv1 successfully resized<br/>[root@localhost mydata]# resize2fs -p /dev/myvg/mylv1 #通过 resize2fs 将文件系统的容量确实添加<br/>resize2fs 1.39 (29-May-2006) <br/>Filesystem at /dev/myvg/mylv1is mounted on /mydata; on-line resizing required <br/>Performing an on-line resize of /dev/myvg/mylv1to 1048576 (4k) blocks. <br/>The filesystem on /dev/myvg/mylv1is now 1048576 blocks long.<br/>[root@localhost mydata]# lvs <br/>LV VG Attr LSize Origin Snap% Move Log Copy% Convert <br/>mylv1 myvg -wi-ao 4.00G <br/>[root@localhost mydata]#<br/>[root@localhost mydata]# cat index.html <br/>test<br/>[root@localhost mydata]# df -h <br/>Filesystem Size Used Avail Use% Mounted on Linux学习,http:// linux.it.net.cn<br/>/dev/sda29.5G 1.8G 7.2G 20% / <br/>/dev/sda34.8G 138M 4.4G 4% /data<br/>/dev/sda1251M 17M 222M 7% /boot<br/>tmpfs 60M 0 60M 0% /dev/shm<br/>/dev/mapper/myvg-mylv1<br/>4.0G 69M 3.7G 2% /mydata#成功增加了2G <br/>[root@localhost mydata]#<br/><br/><br/>7. 缩减逻辑卷<br/>查看逻辑卷使用空间状况<br/><br/>不能在线缩减,得先卸载<br/><br/>确保缩减后的空间大小依然能存储原有的所有数据<br/><br/>在缩减之前应该先强行检查文件,以确保文件系统处于一至性状态<br/><br/>将/dev/myvg/mylv1缩减到1G,并且要求数据可以正常访问 (所以我们就按上面的提示在操作)<br/>[root@localhost ~]#df –lh #查看已用空间大小<br/>[root@localhost ~]# umount /dev/myvg/mylv1 #卸载分区<br/>[root@localhost ~]# e2fsck -f /dev/myvg/mylv1 #强制检查文件系统<br/>[root@localhost ~]# resize2fs /dev/myvg/mylv1 1G #缩减逻辑大小 <br/>[root@localhost ~]# lvreduce -L 1G /dev/myvg/mylv1 #缩减物理边界大小<br/>[root@localhost ~]# lvs #查看逻辑卷 <br/>/dev/cdrom: openfailed: No medium found <br/>LV VG Attr LSize Origin Snap% Move Log Copy% Convert <br/>mylv1 myvg -wi-ao 1.00G <br/>[root@localhost ~]# mount /dev/myvg/mylv1 /mydata<br/>[root@localhost ~]# ls /mydata/ <br/>index.html lost+found <br/>[root@localhost ~]# cat /mydata/index.html <br/>test<br/>[root@localhost ~]#<br/><br/><br/><br/>8. 缩减磁盘空间<br/><br/>发现物理磁盘空间使用不足,将其中一块硬盘或分区拿掉<br/>pvmove /dev/sdb1 #将/dev/sdb1上存储的数据移到其它物理卷中 IT网,http://www.it.net.cn<br/><br/>vgreduce myvg /dev/sdb1 #将/dev/sdb1从myvg卷组中移除 Linux学习,http:// linux.it.net.cn<br/><br/>pvremove /dev/sdb1 #将/dev/sdb1从物理卷上移除<br/><br/>[root@localhost ~]# pvs <br/>/dev/cdrom: openfailed: No medium found <br/>PV VG Fmt Attr PSize PFree <br/>/dev/sdb1myvg lvm2 a- 1.87G 1.87G <br/>/dev/sdb2myvg lvm2 a- 1.87G 1.87G <br/>/dev/sdb3myvg lvm2 a- 1.87G 1.87G <br/>/dev/sdcmyvg lvm2 a- 20.00G 19.00G <br/>/dev/sddmyvg lvm2 a- 20.00G 20.00G <br/>[root@localhost ~]#<br/>[root@localhost ~]# pvmove /dev/sdb1 <br/>No data to move formyvg<br/>[root@localhost ~]# vgreduce myvg /dev/sdb1 <br/>Removed "/dev/sdb1"from volume group "myvg"<br/>root@localhost ~]# pvremove /dev/sdb1 <br/>Labels on physical volume "/dev/sdb1"successfully wiped <br/>[root@localhost ~]# pvs <br/>/dev/cdrom: openfailed: No medium found <br/>PV VG Fmt Attr PSize PFree <br/>/dev/sdb2myvg lvm2 a- 1.87G 1.87G <br/>/dev/sdb3myvg lvm2 a- 1.87G 1.87G <br/>/dev/sdcmyvg lvm2 a- 20.00G 19.00G <br/>/dev/sddmyvg lvm2 a- 20.00G 20.00G <br/>[root@localhost ~]#<br/><br/><br/><br/>9. 实现快照,进行备份还原<br/><br/>在/mnt/lvm目录上,我们将原始的目录文件进行快照,然后将/mydata目录中的内容清空,并进行还原<br/> [root@localhost ~]# cd /mydata/ <br/>[root@localhost mydata]# ls <br/>index.html lost+found <br/>[root@localhost mydata]# cat index.html <br/>test<br/>[root@localhost mydata]# lvcreate -L 30M -n backup -s -p r /dev/myvg/mylv1 #-L 快照大小 –n:快照名称 –p 权限只读 –s 创建快照 <br/><br/>Rounding up size to full physical extent 32.00 MB <br/>Logical volume "backup"created <br/>[root@localhost mydata]# ll <br/>total 20 <br/>-rw-r--r-- 1 root root 5 Jun 28 01:04 index.html <br/>drwx------ 2 root root 16384 Jun 28 00:47 lost+found <br/>[root@localhost mydata]# mkdir /tmp/backup #创建挂载目录 <br/>[root@localhost mydata]# mount /dev/myvg/backup /tmp/backup/ #挂载<br/>mount: block device /dev/myvg/backupis write-protected, mounting read-only <br/>[root@localhost mydata]# cd /tmp/backup/ <br/>[root@localhost backup]# ls <br/>index.html lost+found <br/>[root@localhost backup]# mkdir /tmp/lvmbackup #创建备份目录 <br/>[root@localhost backup]# tar jcf /tmp/lvmbackup/sandy.tar.bz2 index.html #打包并压缩文件 <br/>[root@localhost backup]# cd .. <br/>[root@localhost tmp]# cd lvmbackup/ <br/>[root@localhost lvmbackup]# ls #查看备份 <br/>sandy.tar.bz2 <br/>[root@localhost lvmbackup]# cd /mydata/ <br/>[root@localhost mydata]# ll <br/>total 20 <br/>-rw-r--r-- 1 root root 5 Jun 28 01:04 index.html <br/>drwx------ 2 root root 16384 Jun 28 00:47 lost+found <br/>[root@localhost mydata]# rm -rf * #删除所有文件 <br/>[root@localhost mydata]# <br/>[root@localhost mydata]# ll <br/>total 0 <br/>[root@localhost mydata]# tar xf /tmp/lvmbackup/sandy.tar.bz2 #还原备份数据 <br/>[root@localhost mydata]# ll <br/>total 4 <br/>-rw-r--r-- 1 root root 5 Jun 28 01:04 index.html <br/>[root@localhost mydata]# cat index.html <br/>test<br/>[root@localhost mydata]# df -h <br/>Filesystem Size Used Avail Use% Mounted on <br/>/dev/sda29.5G 1.8G 7.2G 21% / <br/>/dev/sda34.8G 138M 4.4G 4% /data<br/>/dev/sda1251M 17M 222M 7% /boot<br/>tmpfs 60M 0 60M 0% /dev/shm<br/>/dev/mapper/myvg-mylv1<br/>1008M 67M 901M 7% /mydata<br/>/dev/mapper/myvg-mylv1<br/>1008M 67M 901M 7% /tmp/backup<br/>[root@localhost mydata]#<br/>了解以上步骤操作的含义,我相信大家应该对LVM有更深的认识,嘿嘿 ^_^…… IT</p>
CopyRight 2002~2023 精通2100网 联系邮箱:qqtxt@163.com
版权所有:精通2100网
湘ICP备2023018646号-1
MYSQl共执行 4 个查询,用时 0.0024938583374023 秒,PHP脚本用时 0.005557 秒,占用内存 0.667 MB,Gzip 已启用