当前位置: 首页 > news >正文

东莞外贸建站模板广告设计图片大全模板

东莞外贸建站模板,广告设计图片大全模板,安卓编程入门自学,网络舆情处置报告逻辑卷轴管理员 (Logical Volume Manager) 想像一个情况#xff0c;你在当初规划主机的时候将 /home 只给他 50G #xff0c;等到使用者众多之后导致这个 filesystem 不够大#xff0c; 此时你能怎么作#xff1f; 多数的朋友都是这样#xff1a;再加一颗新硬盘#xff0…逻辑卷轴管理员 (Logical Volume Manager)         想像一个情况你在当初规划主机的时候将 /home 只给他 50G 等到使用者众多之后导致这个 filesystem 不够大 此时你能怎么作         多数的朋友都是这样再加一颗新硬盘然后重新分割、格式化将 /home 的数据完整的复制过来 然后将原本的 partition 卸载重新挂载新的 partition 。啊好忙碌啊若是第二次分割却给的容量太多导致很多磁碟容量被浪费了 你想要将这个 partition 缩小时又该如何作         将上述的流程再搞一遍唉烦死了尤其复制很花时间ㄟ有没有更简单的方法呢 有的那就是我们这个小节要介绍的 LVM 这玩意儿         LVM 的重点在於『可以弹性的调整 filesystem 的容量』而并非在於效能与数据保全上面。 需要文件的读写效能或者是数据的可靠性请参考前面的 RAID 小节。 LVM 可以整合多个实体 partition 在一起 让这些 partitions 看起来就像是一个磁碟一样而且还可以在未来新增或移除其他的实体 partition 到这个 LVM 管理的磁碟当中。 如此一来整个磁碟空间的使用上实在是相当的具有弹性啊          在讲解之前先说一个问题当我们新插入一块硬盘时系统是无法辨识的 一般情况下需要重启操作系统来识别。Linux主机对磁盘设备进行重新配置的方式包括  ?重启系统  ?卸载并重新加载HBA驱动模块  ?Echo /proc下的SCSI设备列表  ?通过/sys下的属性设置运行SCSI扫描  ?通过HBA厂商脚本运行SCSI扫描        在此说下非重启的方法让系统辨识新硬盘。         这里的硬盘使用的是scsi方式         1. 第一种方法  Echo /proc下的SCSI设备列表 列出已经发现的SCSI磁盘 [rootlocalhost /]# cat /proc/scsi/scsi Attached devices: Host: scsi1 Channel: 00 Id: 00 Lun: 00   Vendor: NECVMWar Model: VMware IDE CDR10 Rev: 1.00   Type:   CD-ROM                           ANSI  SCSI revision: 05 Host: scsi2 Channel: 00 Id: 00 Lun: 00   Vendor: VMware,  Model: VMware Virtual S Rev: 1.0   Type:   Direct-Access                    ANSI  SCSI revision: 02 Host: scsi2 Channel: 00 Id: 01 Lun: 00   Vendor: VMware,  Model: VMware Virtual S Rev: 1.0   Type:   Direct-Access                    [rootlocalhost /]#echo scsi add-single-device a b c d/proc/scsi/scsi a是硬盘所在SCSI控制器号我的VM有2个SCSI控制器所以就是1 b是硬盘所在SCSI通道的编号一般单通道的就是0多通道的要看是哪个通道了 c是硬盘的SCSI ID号可以通过具体插入的硬盘插槽来判断 d是硬盘的lun号默认情况都是0     2.第二种方法  通过/sys下的属性设置运行SCSI扫描 /sys下SCSI扫描 2.6内核中HBA驱动将SCAN功能导出至/sys目录下可用来重新扫描该接口下的SCSI磁盘设备。命令如下 [rootlocalhost /]# cd /sys/class/scsi_host/ [rootlocalhost scsi_host]# ls   host0  host1  host2 各自扫描一次 [rootlocalhost scsi_host]# echo - - -host0/scan [rootlocalhost scsi_host]# echo - - -host1/scan [rootlocalhost scsi_host]# echo - - -host2/scan ‘- - -’代表channeltarget和LUN编号。以上命令会导致分区下所有channeltarget以及可见LUN被扫描。   RHEL5 或SUSE10 echo ‘- - -’  /sys/class/scsi_host/host0/scan          /sys/class/scsi_host/ 下面有几个host 就扫描几次 RHEL4 或SUSE9 echo 1 /sys/class/scsi_host/host0/issue_lip     同样是/sys/class/scsi_host/ 下面有几个host 就执行几次     echo ‘- - -’ /sys/class/scsi_host/host0/scan 什么是 LVM PV, PE, VG, LV 的意义 LVM 的全名是 Logical Volume Manager中文可以翻译作逻辑卷轴管理员。之所以称为『卷轴』可能是因为可以将 filesystem 像卷轴一样伸长或缩短之故吧LVM 的作法是将几个实体的 partitions (或 disk) 透过软件组合成为一块看起来是独立的大磁碟 (VG) 然后将这块大磁碟再经过分割成为可使用分割槽 (LV) 最终就能够挂载使用了。但是为什么这样的系统可以进行 filesystem 的扩充或缩小呢其实与一个称为 PE 的项目有关 底下我们就得要针对这几个项目来好好聊聊 Physical Volume, PV, 实体卷轴        我们实际的 partition 需要调整系统识别码 (system ID) 成为 8e (LVM 的识别码)然后再经过 pvcreate 的命令将他转成 LVM 最底层的实体卷轴 (PV) 之后才能够将这些 PV 加以利用 调整 system ID 的方是就是透过 fdisk 啦 Volume Group, VG, 卷轴群组         所谓的 LVM 大磁碟就是将许多 PV 整合成这个 VG 所以 VG 就是 LVM 组合起来的大磁碟这么想就好了。 那么这个大磁碟最大可以到多少容量呢这与底下要说明的 PE 有关喔因为每个 VG 最多仅能包含 65534 个 PE 而已。 如果使用 LVM 默认的参数则一个 VG 最大可达 256GB 的容量啊(参考底下的 PE 说明) Physical Extend, PE, 实体延伸区块         LVM 默认使用 4MB 的 PE 区块而 LVM 的 VG 最多仅能含有 65534 个 PE 因此默认的 LVM VG 会有 4M*65534/(1024M/G)256G。 这个 PE 很有趣喔他是整个 LVM 最小的储存区块也就是说其实我们的文件数据都是藉由写入 PE 来处理的。 简单的说这个 PE 就有点像文件系统里面的 block 大小啦。 这样说应该就比较好理解了吧所以调整 PE 会影响到 VG 的最大容量 Logical Volume, LV, 逻辑卷轴         最终的 VG 还会被切成 LV这个 LV 就是最后可以被格式化使用的类似分割槽的咚咚了那么 LV 是否可以随意指定大小呢 当然不可以既然 PE 是整个 LVM 的最小储存单位那么 LV 的大小就与在此 LV 内的 PE 总数有关。 为了方便使用者利用 LVM 来管理其系统因此 LV 的装置档名通常指定为『 /dev/vgname/lvname 』的样式 此外我们刚刚有谈到 LVM 可弹性的变更 filesystem 的容量那是如何办到的其实他就是透过『交换 PE 』来进行数据转换 将原本 LV 内的 PE 移转到其他装置中以降低 LV 容量或将其他装置的 PE 加到此 LV 中以加大容量 VG、LV 与 PE 的关系有点像下图   实作流程         通过 PV, VG, LV 的规划之后再利用 mkfs 就可以将你的 LV 格式化成为可以利用的文件系统了而且这个文件系统的容量在未来还能够进行扩充或减少 而且里面的数据还不会被影响             如此一来我们就可以利用 LV 这个玩意儿来进行系统的挂载了。不过你应该要觉得奇怪的是 那么我的数据写入这个 LV 时到底他是怎么写入硬盘当中的依据写入机制的不同而有两种方式 线性模式 (linear)假如我将 /dev/hda1, /dev/hdb1 这两个 partition 加入到 VG 当中并且整个 VG 只有一个 LV 时那么所谓的线性模式就是当 /dev/hda1 的容量用完之后/dev/hdb1 的硬盘才会被使用到 这也是我们所建议的模式。交错模式 (triped)那什么是交错模式很简单啊就是我将一笔数据拆成两部分分别写入 /dev/hda1 与 /dev/hdb1 的意思感觉上有点像 RAID 0 啦如此一来一份数据用两颗硬盘来写入理论上读写的效能会比较好。         基本上LVM 最主要的用处是在实现一个可以弹性调整容量的文件系统上 而不是在创建一个效能为主的磁碟上所以我们应该利用的是 LVM 可以弹性管理整个 partition 大小的用途上而不是著眼在效能上的。因此 LVM 默认的读写模式是线性模式啦 如果你使用 triped 模式要注意当任何一个 partition 损坏时所有的数据都会『损毁』的 所以啦不是很适合使用这种模式啦如果要强调效能与备份那么就直接使用 RAID 即可 不需要用到 LVM 。 LVM 实作流程         LVM 必需要核心有支持且需要安装 lvm2 这个软件CentOS 与其他较新的 distributions 已经默认将 lvm 的支持与软件都安装妥当了       我的要求有点像这样 先分割出 4 个 partition 每个 partition 的容量均为 1.5GB 左右且 system ID 需要为 8e全部的 partition 整合成为一个 VGVG 名称配置为 vbirdvg且 PE 的大小为 16MB全部的 VG 容量都丢给 LV LV 的名称配置为 vbirdlv最终这个 LV 格式化为 ext3 的文件系统且挂载在 /mnt/lvm 中 (注意修改系统识别码请使用 t 这个 fdisk 内的命令来处理即可) [rootwww ~]# fdisk /dev/hda 其他流程请自行参考第八章处理 [rootwww ~]# partprobe 别忘记这个动作了粉重要 [rootwww ~]# fdisk -l Disk /dev/hda: 41.1 GB, 41174138880 bytes 255 heads, 63 sectors/track, 5005 cylinders Units cylinders of 16065 * 512 8225280 bytesDevice Boot Start End Blocks Id System /dev/hda1 * 1 13 104391 83 Linux /dev/hda2 14 1288 10241437 83 Linux /dev/hda3 1289 1925 5116702 83 Linux /dev/hda4 1926 5005 24740100 5 Extended /dev/hda5 1926 2052 1020096 82 Linux swap / Solaris /dev/hda6 2053 2235 1469916 8e Linux LVM /dev/hda7 2236 2418 1469916 8e Linux LVM /dev/hda8 2419 2601 1469916 8e Linux LVM /dev/hda9 2602 2784 1469916 8e Linux LVM上面的 /dev/hda{6,7,8,9} 这四个分区就是我们的实体分区 注意看那个 8e 的出现会导致 system 变成『 Linux LVM 』其实没有配置成为 8e 也没关系 不过某些 LVM 的侦测命令可能会侦测不到该 partition 就是了接下来就一个一个的处理各流程吧 PV 阶段 要创建 PV 其实很简单只要直接使用 pvcreate 即可 pvcreate 将实体 partition 创建成为 PV pvscan 搜寻目前系统里面任何具有 PV 的磁碟pvdisplay 显示出目前系统上面的 PV 状态pvremove 将 PV 属性移除让该 partition 不具有 PV 属性。 那就直接来瞧一瞧吧 # 1. 检查有无 PV 在系统上然后将 /dev/hda6~/dev/hda9 创建成为 PV 格式 [rootwww ~]# pvscanNo matching physical volumes found 找不到任何的 PV 存在喔[rootwww ~]# pvcreate /dev/hda{6,7,8,9}Physical volume /dev/hda6 successfully createdPhysical volume /dev/hda7 successfully createdPhysical volume /dev/hda8 successfully createdPhysical volume /dev/hda9 successfully created # 这个命令可以一口气创建这四个 partition 成为 PV 啦注意大括号的用途[rootwww ~]# pvscanPV /dev/hda6 lvm2 [1.40 GB]PV /dev/hda7 lvm2 [1.40 GB]PV /dev/hda8 lvm2 [1.40 GB]PV /dev/hda9 lvm2 [1.40 GB]Total: 4 [5.61 GB] / in use: 0 [0 ] / in no VG: 4 [5.61 GB] # 这就分别显示每个 PV 的资讯与系统所有 PV 的资讯。尤其最后一行显示的是 # 整体 PV 的量 / 已经被使用到 VG 的 PV 量 / 剩余的 PV 量# 2. 更详细的列示出系统上面每个 PV 的个别资讯 [rootwww ~]# pvdisplay/dev/hda6 is a new physical volume of 1.40 GB--- NEW Physical volume ---PV Name /dev/hda6 实际的 partition 装置名称VG Name 因为尚未分配出去所以空白PV Size 1.40 GB 就是容量说明Allocatable NO 是否已被分配结果是 NOPE Size (KByte) 0 在此 PV 内的 PE 大小Total PE 0 共分割出几个 PEFree PE 0 没被 LV 用掉的 PEAllocated PE 0 尚可分配出去的 PE 数量PV UUID Z13Jk5-RCls-UJ8B-HzDa-Gesn-atku-rf2biN ....(底下省略).... # 由於 PE 是在创建 VG 时才给予的参数因此在这里看到的 PV 里头的 PE 都会是 0 # 而且也没有多余的 PE 可供分配 (allocatable)。VG 阶段 创建 VG 及 VG 相关的命令也不少我们来看看 vgcreate 就是主要创建 VG 的命令啦他的参数比较多等一下介绍。vgscan 搜寻系统上面是否有 VG 存在vgdisplay 显示目前系统上面的 VG 状态vgextend 在 VG 内添加额外的 PV vgreduce 在 VG 内移除 PVvgchange 配置 VG 是否启动 (active)vgremove 删除一个 VG 啊         与 PV 不同的是 VG 的名称是自订的我们知道 PV 的名称其实就是 partition 的装置档名 但是这个 VG 名称则可以随便你自己取啊在底下的例子当中我将 VG 名称取名为 vbirdvg 。创建这个 VG 的流程是这样的 [rootwww ~]# vgcreate [-s N[m | g | t ]] VG名称 PV名称 选项与参数 -s 后面接 PE 的大小 (size) 单位可以是 m, g, t (大小写均可)# 1. 将 /dev/hda6-8 创建成为一个 VG且指定 PE 为 16MB 喔 [rootwww ~]# vgcreate -s 16M vbirdvg /dev/hda{6,7,8}Volume group vbirdvg successfully created[rootwww ~]# vgscanReading all physical volumes. This may take a while...Found volume group vbirdvg using metadata type lvm2 # 确实存在这个 vbirdvg 的 VG 啦[rootwww ~]# pvscanPV /dev/hda6 VG vbirdvg lvm2 [1.39 GB / 1.39 GB free]PV /dev/hda7 VG vbirdvg lvm2 [1.39 GB / 1.39 GB free]PV /dev/hda8 VG vbirdvg lvm2 [1.39 GB / 1.39 GB free]PV /dev/hda9 lvm2 [1.40 GB]Total: 4 [5.57 GB] / in use: 3 [4.17 GB] / in no VG: 1 [1.40 GB] # 嘿嘿发现没有三个 PV 被用去剩下一个 /dev/hda9 的 PV 没被用掉[rootwww ~]# vgdisplay--- Volume group ---VG Name vbirdvgSystem IDFormat lvm2Metadata Areas 3Metadata Sequence No 1VG Access read/writeVG Status resizableMAX LV 0Cur LV 0Open LV 0Max PV 0Cur PV 3Act PV 3VG Size 4.17 GB 整体的 VG 容量有这么大PE Size 16.00 MB 内部每个 PE 的大小Total PE 267 总共的 PE 数量共有这么多Alloc PE / Size 0 / 0Free PE / Size 267 / 4.17 GBVG UUID 4VU5Jr-gwOq-jkga-sUPx-vWPu-PmYm-dZH9EO # 最后那三行指的就是 PE 能够使用的情况由於尚未切出 LV因此所有的 PE # 均可自由使用。这样就创建一个 VG 了假设我们要添加这个 VG 的容量因为我们还有 /dev/hda9 : # 2. 将剩余的 PV (/dev/hda9) 加给 vbirdvg 吧 [rootwww ~]# vgextend vbirdvg /dev/hda9Volume group vbirdvg successfully extended[rootwww ~]# vgdisplay ....(前面省略)....VG Size 5.56 GBPE Size 16.00 MBTotal PE 356Alloc PE / Size 0 / 0Free PE / Size 356 / 5.56 GBVG UUID 4VU5Jr-gwOq-jkga-sUPx-vWPu-PmYm-dZH9EO # 基本上不难吧这样就可以抽换整个 VG 的大小啊我们多了一个装置接下来为这个 vbirdvg 进行分割吧透过 LV 功能来处理 LV 阶段 创造出 VG 这个大磁盘之后再来就是要创建分区啦这个分区就是所谓的 LV 假设我要将刚刚那个 vbirdvg 磁盘分割成为 vbirdlv 整个 VG 的容量都被分配到 vbirdlv 里面去先来看看能使用的命令 lvcreate 创建 LV lvscan 查询系统上面的 LV lvdisplay 显示系统上面的 LV 状态lvextend 在 LV 里面添加容量lvreduce 在 LV 里面减少容量lvremove 删除一个 LV lvresize 对 LV 进行容量大小的调整 [rootwww ~]# lvcreate [ -L N [ m | g | t ]] [-n LV名称] VG名称 [rootwww ~]# lvcreate [-l N] [-n LV名称] VG名称 选项与参数 -L 后面接容量容量的单位可以是 M,G,T 等要注意的是最小单位为 PE因此这个数量必须要是 PE 的倍数若不相符系统会自行计算最相近的容量。 -l 后面可以接 PE 的『个数』而不是数量。若要这么做得要自行计算 PE 数。 -n 后面接的就是 LV 的名称啦 更多的说明应该可以自行查阅吧 man lvcreate # 1. 将整个 vbirdvg 通通分配给 vbirdlv 啊要注意 PE 共有 356 个。 [rootwww ~]# lvcreate -l 356 -n vbirdlv vbirdvgLogical volume vbirdlv created # 由於本案例中每个 PE 为 16M 因此上述的命令也可以使用如下的方式来创建 # lvcreate -L 5.56G -n vbirdlv vbirdvg[rootwww ~]# ll /dev/vbirdvg/vbirdlv lrwxrwxrwx 1 root root 27 Mar 11 16:49 /dev/vbirdvg/vbirdlv - /dev/mapper/vbirdvg-vbirdlv # 看见了没有啊这就是我们最重要的一个玩意儿了[rootwww ~]# lvdisplay--- Logical volume ---LV Name /dev/vbirdvg/vbirdlv 这个才是 LV 的全名VG Name vbirdvgLV UUID 8vFOPG-Jrw0-Runh-ug24-t2j7-i3nA-rPEyq0LV Write Access read/writeLV Status available# open 0LV Size 5.56 GB 这个 LV 的容量这么大Current LE 356Segments 4Allocation inheritRead ahead sectors auto- currently set to 256Block device 253:0如此一来整个 partition 也准备好啦接下来就是针对这个 LV 来处理啦要特别注意的是 VG 的名称为 vbirdvg 但是 LV 的名称必须使用全名亦即是 /dev/vbirdvg/vbirdlv 才对 后续的处理都是这样的这点初次接触 LVM 的朋友很容易搞错 文件系统阶段 # 1. 格式化、挂载与观察我们的 LV 吧 [rootwww ~]# mkfs -t ext3 /dev/vbirdvg/vbirdlv注意 LV 全名 [rootwww ~]# mkdir /mnt/lvm [rootwww ~]# mount /dev/vbirdvg/vbirdlv /mnt/lvm [rootwww ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda2 9920624 3858984 5549572 42% / /dev/hda3 4956316 1056996 3643488 23% /home /dev/hda1 101086 21408 74459 23% /boot tmpfs 371332 0 371332 0% /dev/shm /dev/mapper/vbirdvg-vbirdlv5741020 142592 5306796 3% /mnt/lvm [rootwww ~]# cp -a /etc /var/log /mnt/lvm 其实 LV 的名称建置成为 /dev/vbirdvg/vbirdlv 是为了让使用者直觉式的找到我们所需要的数据 实际上 LVM 使用的装置是放置到 /dev/mapper/ 目录下的所以你才会看到上表当中的特殊字体部分。 透过这样的功能我们现在已经建置好一个 LV 了你可以自由的应用 /mnt/lvm 内的所有资源   放大 LV 容量 如果要放大 LV 的容量时 该如何进行完整的步骤呢你只要这样做即可 扩展操作可以在线执行。 用 fdisk 配置新的具有 8e system ID 的 partition利用 pvcreate 建置 PV利用 vgextend 将 PV 加入我们的 vbirdvg利用 lvresize 将新加入的 PV 内的 PE 加入 vbirdlv 中透过 resize2fs 将文件系统的容量确实添加 其中最后一个步骤最重要我们在第八章当中知道 整个文件系统在最初格式化的时候就创建了 inode/block/superblock 等资讯要改变这些资讯是很难的 不过因为文件系统格式化的时候建置的是多个 block group 因此我们可以透过在文件系统当中添加 block group 的方式来增减文件系统的量而增减 block group 就是利用 resize2fs 啦所以最后一步是针对文件系统来处理的 前面几步则是针对 LVM 的实际容量大小 # 1. 处理出一个 3GB 的新的 partition 在我的系统中应该是 /dev/hda10 [rootwww ~]# fdisk /dev/hda 其他的动作请自行处理 [rootwww ~]# partprobe [rootwww ~]# fdisk -lDevice Boot Start End Blocks Id System ....(中间省略).... /dev/hda10 2785 3150 2939863 8e Linux LVM # 这个就是我们要的新的 partition 罗# 2. 创建新的 PV [rootwww ~]# pvcreate /dev/hda10Physical volume /dev/hda10 successfully created [rootwww ~]# pvscanPV /dev/hda6 VG vbirdvg lvm2 [1.39 GB / 0 free]PV /dev/hda7 VG vbirdvg lvm2 [1.39 GB / 0 free]PV /dev/hda8 VG vbirdvg lvm2 [1.39 GB / 0 free]PV /dev/hda9 VG vbirdvg lvm2 [1.39 GB / 0 free]PV /dev/hda10 lvm2 [2.80 GB]Total: 5 [8.37 GB] / in use: 4 [5.56 GB] / in no VG: 1 [2.80 GB] # 可以看到 /dev/hda10 是新加入并且尚未被使用的喔# 3. 加大 VG 利用 vgextend 功能 [rootwww ~]# vgextend vbirdvg /dev/hda10Volume group vbirdvg successfully extended [rootwww ~]# vgdisplay--- Volume group ---VG Name vbirdvgSystem IDFormat lvm2Metadata Areas 5Metadata Sequence No 4VG Access read/writeVG Status resizableMAX LV 0Cur LV 1Open LV 1Max PV 0Cur PV 5Act PV 5VG Size 8.36 GBPE Size 16.00 MBTotal PE 535Alloc PE / Size 356 / 5.56 GBFree PE / Size 179 / 2.80 GBVG UUID 4VU5Jr-gwOq-jkga-sUPx-vWPu-PmYm-dZH9EO # 不但整体 VG 变大了而且剩余的 PE 共有 179 个容量则为 2.80G # 4. 放大 LV 吧利用 lvresize 的功能来添加 [rootwww ~]# lvresize -l 179 /dev/vbirdvg/vbirdlvExtending logical volume vbirdlv to 8.36 GBLogical volume vbirdlv successfully resized # 这样就添加了 LV 了喔lvresize 的语法很简单基本上同样透过 -l 或 -L 来添加 # 若要添加则使用 若要减少则使用 - 详细的选项请参考 man lvresize 罗[rootwww ~]# lvdisplay--- Logical volume ---LV Name /dev/vbirdvg/vbirdlvVG Name vbirdvgLV UUID 8vFOPG-Jrw0-Runh-ug24-t2j7-i3nA-rPEyq0LV Write Access read/writeLV Status available# open 1LV Size 8.36 GBCurrent LE 535Segments 5Allocation inheritRead ahead sectors auto- currently set to 256Block device 253:0[rootwww ~]# df /mnt/lvm Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vbirdvg-vbirdlv5741020 261212 5188176 5% /mnt/lvm看到了吧最终的结果中 LV 真的有放大到 8.36GB 喔但是文件系统却没有相对添加 而且我们的 LVM 可以线上直接处理并不需要特别给他 umount 哩真是人性化 但是还是得要处理一下文件系统的容量啦开始观察一下文件系统然后使用 resize2fs 来处理一下吧 # 5.1 先看一下原本的文件系统内的 superblock 记录情况吧 [rootwww ~]# dumpe2fs /dev/vbirdvg/vbirdlv dumpe2fs 1.39 (29-May-2006) ....(中间省略).... Block count: 1458176 这个filesystem的 block 总数 ....(中间省略).... Blocks per group: 32768 多少个 block 配置成为一个 block group Group 0: (Blocks 0-32767) 括号内为 block 的号码 ....(中间省略).... Group 44: (Blocks 1441792-1458175) 这是本系统中最后一个 group ....(后面省略)....# 5.2 resize2fs 的语法 [rootwww ~]# resize2fs [-f] [device] [size]选项与参数 -f 强制进行 resize 的动作 [device]装置的文件名称 [size] 可以加也可以不加。如果加上 size 的话那么就必须要给予一个单位譬如 M, G 等等。如果没有 size 的话那么默认使用『整个 partition』的容量来处理# 5.3 完整的将 LV 的容量扩充到整个 filesystem 吧 [rootwww ~]# resize2fs /dev/vbirdvg/vbirdlv resize2fs 1.39 (29-May-2006) Filesystem at /dev/vbirdvg/vbirdlv is mounted on /mnt/lvm; on-line resizing Performing an on-line resize of /dev/vbirdvg/vbirdlv to 2191360 (4k) blocks. The filesystem on /dev/vbirdvg/vbirdlv is now 2191360 blocks long. # 可怕吧这一版的 lvm 竟然还可以线上进行 resize 的功能哩真好[rootwww ~]# df /mnt/lvm Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vbirdvg-vbirdlv8628956 262632 7931368 4% /mnt/lvm [rootwww ~]# ll /mnt/lvm drwxr-xr-x 105 root root 12288 Mar 11 16:59 etc drwxr-xr-x 17 root root 4096 Mar 11 14:17 log drwx------ 2 root root 16384 Mar 11 16:59 lostfound # 刚刚复制进去的数据可还是存在的喔并没有消失不见 嘿嘿真的放大了吧而且如果你已经有填数据在 LVM 磁区当中的话这个数据是不会死掉的喔还是继续存在原本的磁区当中啦 整个动作竟然这么简单就完成了原本的数据还是一直存在而不会消失您说 LVM 好不好用啊 此外如果你再以 dumpe2fs 来检查 /dev/vbirdvg/vbirdlv 时就会发现后续的 Group 添加了 rootwww ~]# lvextend -L 10G /dev/vg001/lv001 增加lv空间 [rootwww ~]# resize2fs /dev/vg001/lv001 更新文件系统[rootwww ~]# [rootwww ~]# 缩小 LV 容量 上一小节我们谈到的是放大容量现在来谈到的是缩小容量假设我们想将 /dev/hda6 抽离出来 那该如何处理啊就让上一小节的流程倒转过来即可 # 1. 先找出 /dev/hda6 的容量大小并尝试计算文件系统需缩小到多少 [rootwww ~]# pvdisplay--- Physical volume ---PV Name /dev/hda6VG Name vbirdvgPV Size 1.40 GB / not usable 11.46 MBAllocatable yes (but full)PE Size (KByte) 16384Total PE 89Free PE 0Allocated PE 89PV UUID Z13Jk5-RCls-UJ8B-HzDa-Gesn-atku-rf2biN # 从这里可以看出 /dev/hda6 有多大而且含有 89 个 PE 的量喔 # 那如果要使用 resize2fs 时则总量减去 1.40GB 就对了[rootwww ~]# pvscanPV /dev/hda6 VG vbirdvg lvm2 [1.39 GB / 0 free]PV /dev/hda7 VG vbirdvg lvm2 [1.39 GB / 0 free]PV /dev/hda8 VG vbirdvg lvm2 [1.39 GB / 0 free]PV /dev/hda9 VG vbirdvg lvm2 [1.39 GB / 0 free]PV /dev/hda10 VG vbirdvg lvm2 [2.80 GB / 0 free]Total: 5 [8.36 GB] / in use: 5 [8.36 GB] / in no VG: 0 [0 ] # 从上面可以发现如果扣除 /dev/hda6 则剩余容量有1.39*32.86.97# 2. 就直接降低文件系统的容量吧 [rootwww ~]# resize2fs /dev/vbirdvg/vbirdlv 6900M resize2fs 1.39 (29-May-2006) Filesystem at /dev/vbirdvg/vbirdlv is mounted on /mnt/lvm; on-line resizing On-line shrinking from 2191360 to 1766400 not supported. # 容量好像不能够写小数点位数因此 6.9G 是错误的鸟哥就使用 6900M 了。 # 此外放大可以线上直接进行缩小文件系统似乎无法支持所以要这样做[rootwww ~]# umount /mnt/lvm [rootwww ~]# resize2fs /dev/vbirdvg/vbirdlv 6900M resize2fs 1.39 (29-May-2006) Please run e2fsck -f /dev/vbirdvg/vbirdlv first. # 他要我们先进行磁碟检查不罗唆那就直接进行吧[rootwww ~]# e2fsck -f /dev/vbirdvg/vbirdlv e2fsck 1.39 (29-May-2006) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/vbirdvg/vbirdlv: 2438/1087008 files (0.1% non-contiguous), [rootwww ~]# resize2fs /dev/vbirdvg/vbirdlv 6900M resize2fs 1.39 (29-May-2006) Resizing the filesystem on /dev/vbirdvg/vbirdlv to 1766400 (4k) blocks. The filesystem on /dev/vbirdvg/vbirdlv is now 1766400 blocks long. # 再来 resize2fs 一次就能够成功了如上所示啊[rootwww ~]# mount /dev/vbirdvg/vbirdlv /mnt/lvm [rootwww ~]# df /mnt/lvm Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vbirdvg-vbirdlv6955584 262632 6410328 4% /mnt/lvm 然后再来就是将 LV 的容量降低要注意的是我们想要抽离的是 /dev/hda6这个 PV 有 89 个 PE (上面的 pvdisplay 查询到的结果)。所以要这样进行 # 3. 降低 LV 的容量同时我们知道 /dev/hda6 有 89 个 PE [rootwww ~]# lvresize -l -89 /dev/vbirdvg/vbirdlvWARNING: Reducing active and open logical volume to 6.97 GBTHIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce vbirdlv? [y/n]: yReducing logical volume vbirdlv to 6.97 GBLogical volume vbirdlv successfully resized # 会有警告信息但是我们的实际数据量还是比 6.97G 小所以就 y 下去吧[rootwww ~]# lvdisplay--- Logical volume ---LV Name /dev/vbirdvg/vbirdlvVG Name vbirdvgLV UUID 8vFOPG-Jrw0-Runh-ug24-t2j7-i3nA-rPEyq0LV Write Access read/writeLV Status available# open 1LV Size 6.97 GBCurrent LE 446Segments 5Allocation inheritRead ahead sectors auto- currently set to 256Block device 253:0很简单吧这样就将 LV 缩小了接下来就要将 /dev/hda6 移出 vbirdvg 这个 VG 之外罗 我们得要先确定 /dev/hda6 里面的 PE 完全不被使用后才能够将 /dev/hda6 抽离 所以得要这样进行 # 4.1 先确认 /dev/hda6 是否将 PE 都移除了 [rootwww ~]# pvdisplay--- Physical volume ---PV Name /dev/hda6VG Name vbirdvgPV Size 1.40 GB / not usable 11.46 MBAllocatable yes (but full)PE Size (KByte) 16384Total PE 89Free PE 0Allocated PE 89PV UUID Z13Jk5-RCls-UJ8B-HzDa-Gesn-atku-rf2biN ....(中间省略)....--- Physical volume ---PV Name /dev/hda10VG Name vbirdvgPV Size 2.80 GB / not usable 6.96 MBAllocatable yesPE Size (KByte) 16384Total PE 179Free PE 89Allocated PE 90PV UUID 7MfcG7-y9or-0Jmb-H7RO-5Pa5-D3qB-G426Vq # 搞了老半天没有被使用的 PE 竟然在 /dev/hda10 此时得要搬移 PE 罗[rootwww ~]# pvmove /dev/hda6 /dev/hda10 # pvmove 来源PV 目标PV 可以将 /dev/hda6 内的 PE 通通移动到 /dev/hda10 # 尚未被使用的 PE 去 (Free PE)。# 4.2 将 /dev/hda6 移出 vbirdvg 中 [rootwww ~]# vgreduce vbirdvg /dev/hda6Removed /dev/hda6 from volume group vbirdvg[rootwww ~]# pvscanPV /dev/hda7 VG vbirdvg lvm2 [1.39 GB / 0 free]PV /dev/hda8 VG vbirdvg lvm2 [1.39 GB / 0 free]PV /dev/hda9 VG vbirdvg lvm2 [1.39 GB / 0 free]PV /dev/hda10 VG vbirdvg lvm2 [2.80 GB / 0 free]PV /dev/hda6 lvm2 [1.40 GB]Total: 5 [8.37 GB] / in use: 4 [6.97 GB] / in no VG: 1 [1.40 GB][rootwww ~]# pvremove /dev/hda6Labels on physical volume /dev/hda6 successfully wiped很有趣吧这样你的文件系统以及实际的 LV 与 VG 通通变小了而且那个 /dev/hda6 还真的可以拿出来 可以进行其他的用途啦非常简单吧 LVM 相关命令汇整与 LVM 的关闭 将上述用过的一些命令汇整一下提供参考 任务PV 阶段VG 阶段LV 阶段搜寻(scan)pvscanvgscanlvscan创建(create)pvcreatevgcreatelvcreate列出(display)pvdisplayvgdisplaylvdisplay添加(extend) vgextendlvextend (lvresize)减少(reduce) vgreducelvreduce (lvresize)删除(remove)pvremovevgremovelvremove改变容量(resize)  lvresize改变属性(attribute)pvchangevgchangelvchange         至於文件系统阶段 (filesystem 的格式化处理) 部分还需要以 resize2fs 来修订文件系统实际的大小才行啊 ^_^ 。         至於虽然 LVM 可以弹性的管理你的磁碟容量但是要注意如果你想要使用 LVM 管理您的硬盘时那么在安装的时候就得要做好 LVM 的规划了 否则未来还是需要先以传统的磁碟添加方式来添加后移动数据后才能够进行 LVM 的使用啊        会玩 LVM 还不行你必须要会移除系统内的 LVM 喔因为你的实体 partition 已经被使用到 LVM 去 如果你还没有将 LVM 关闭就直接将那些 partition 删除或转为其他用途的话系统是会发生很大的问题的 所以罗你必须要知道如何将 LVM 的装置关闭并移除才行会不会很难呢其实不会啦 依据以下的流程来处理即可 先卸载系统上面的 LVM 文件系统 (包括快照与所有 LV)使用 lvremove 移除 LV 使用 vgchange -a n VGname 让 VGname 这个 VG 不具有 Active 的标志使用 vgremove 移除 VG使用 pvremove 移除 PV最后使用 fdisk 修改 ID 回来啊 好吧那就实际的将我们之前创建的所有 LVM 数据给删除吧 [rootwww ~]# umount /mnt/lvm [rootwww ~]# umount /mnt/snapshot [rootwww ~]# lvremove /dev/vbirdvg/vbirdss 先处理快照 Do you really want to remove active logical volume vbirdss? [y/n]: yLogical volume vbirdss successfully removed [rootwww ~]# lvremove /dev/vbirdvg/vbirdlv 再处理原系统 Do you really want to remove active logical volume vbirdlv? [y/n]: yLogical volume vbirdlv successfully removed[rootwww ~]# vgchange -a n vbirdvg0 logical volume(s) in volume group vbirdvg now active[rootwww ~]# vgremove vbirdvgVolume group vbirdvg successfully removed[rootwww ~]# pvremove /dev/hda{6,7,8,9,10}Labels on physical volume /dev/hda6 successfully wipedLabels on physical volume /dev/hda7 successfully wipedLabels on physical volume /dev/hda8 successfully wipedLabels on physical volume /dev/hda9 successfully wipedLabels on physical volume /dev/hda10 successfully wiped最后再用 fdisk 将磁碟的 ID 给他改回来 83 就好啦整个过程就这样的啦 ^_^ LVM 的系统快照 现在你知道 LVM 的好处咯未来如果你有想要添加某个 LVM 的容量时就可以透过这个放大、缩小的功能来处理。 那么 LVM 除了这些功能之外还有什么能力呢其实他还有一个重要的能力那就是系统快照 (snapshot)。 什么是系统快照啊快照就是将当时的系统资讯记录下来就好像照相记录一般 未来若有任何数据更动了则原始数据会被搬移到快照区没有被更动的区域则由快照区与文件系统共享。 用讲的好像很难懂我们用图解说明一下好了 图 3.5.1、LVM 系统快照区域的备份示意图(虚线为文件系统长虚线为快照区) 左图为最初建置系统快照区的状况LVM 会预留一个区域 (左图的左侧三个 PE 区块) 作为数据存放处。 此时快照区内并没有任何数据而快照区与系统区共享所有的 PE 数据 因此你会看到快照区的内容与文件系统是一模一样的。 等到系统运行一阵子后假设 A 区域的数据被更动了 (上面右图所示)则更动前系统会将该区域的数据移动到快照区 所以在右图的快照区被占用了一块 PE 成为 A而其他 B 到 I 的区块则还是与文件系统共享 照这样的情况来看LVM 的系统快照是非常棒的『备份工具』因为他只有备份有被更动到的数据 文件系统内没有被变更的数据依旧保持在原本的区块内但是 LVM 快照功能会知道那些数据放置在哪里 因此『快照』当时的文件系统就得以『备份』下来且快照所占用的容量又非常小所以您说这不是很棒的工具又是什么 那么快照区要如何创建与使用呢首先由於快照区与原本的 LV 共享很多 PE 区块因此快照区与被快照的 LV 必须要在同一个 VG 上头。但是我们刚刚将 /dev/hda6 移除 vbirdvg 了目前 vbirdvg 剩下的容量为 0 因此在这个小节里面我们得要再加入 /dev/hda6 到我们的 VG 后 才能继续创建快照区罗底下的动作赶紧再来玩玩看 快照区的创建 底下的动作主要在添加需要的 VG 容量然后再透过 lvcreate -s 的功能创建快照区 # 1. 先观察 VG 还剩下多少剩余容量 [rootwww ~]# vgdisplay--- Volume group ---VG Name vbirdvg ....(其他省略)....VG Size 6.97 GBPE Size 16.00 MBTotal PE 446Alloc PE / Size 446 / 6.97 GBFree PE / Size 0 / 0 没有多余的 PE 可用# 2. 将刚刚移除的 /dev/hda6 加入这个 VG 吧 [rootwww ~]# pvcreate /dev/hda6Physical volume /dev/hda6 successfully created [rootwww ~]# vgextend vbirdvg /dev/hda6Volume group vbirdvg successfully extended [rootwww ~]# vgdisplay--- Volume group ---VG Name vbirdvg ....(其他省略)....VG Size 8.36 GBPE Size 16.00 MBTotal PE 535Alloc PE / Size 446 / 6.97 GBFree PE / Size 89 / 1.39 GB 多出了 89 个 PE 可用罗# 3. 利用 lvcreate 创建系统快照区我们取名为 vbirdss且给予 60 个 PE [rootwww ~]# lvcreate -l 60 -s -n vbirdss /dev/vbirdvg/vbirdlvLogical volume vbirdss created # 上述的命令中最重要的是那个 -s 的选项代表是 snapshot 快照功能之意 # -n 后面接快照区的装置名称 /dev/.... 则是要被快照的 LV 完整档名。 # -l 后面则是接使用多少个 PE 来作为这个快照区使用。[rootwww ~]# lvdisplay--- Logical volume ---LV Name /dev/vbirdvg/vbirdssVG Name vbirdvgLV UUID K2tJ5E-e9mI-89Gw-hKFd-4tRU-tRKF-oeB03aLV Write Access read/writeLV snapshot status active destination for /dev/vbirdvg/vbirdlvLV Status available# open 0LV Size 6.97 GB 被快照的原 LV 磁碟容量Current LE 446COW-table size 960.00 MB 快照区的实际容量COW-table LE 60 快照区占用的 PE 数量Allocated to snapshot 0.00%Snapshot chunk size 4.00 KBSegments 1Allocation inheritRead ahead sectors auto- currently set to 256Block device 253:1您看看这个 /dev/vbirdvg/vbirdss 快照区就被创建起来了而且他的 VG 量竟然与原本的 /dev/vbirdvg/vbirdlv 相同也就是说如果你真的挂载这个装置时看到的数据会跟原本的 vbirdlv 相同喔我们就来测试看看 [rootwww ~]# mkdir /mnt/snapshot [rootwww ~]# mount /dev/vbirdvg/vbirdss /mnt/snapshot [rootwww ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda2 9920624 3859032 5549524 42% / /dev/hda3 4956316 1056996 3643488 23% /home /dev/hda1 101086 21408 74459 23% /boot tmpfs 371332 0 371332 0% /dev/shm /dev/mapper/vbirdvg-vbirdlv6955584 262632 6410328 4% /mnt/lvm /dev/mapper/vbirdvg-vbirdss6955584 262632 6410328 4% /mnt/snapshot # 有没有看到这两个咚咚竟然是一模一样喔我们根本没有动过 # /dev/vbirdvg/vbirdss 对吧不过这里面会主动记录原 vbirdlv 的内容[rootwww ~]# umount /mnt/snapshot # 最后将他卸载我们准备来玩玩有趣的东西利用快照区复原系统 首先我们来玩一下如何利用快照区复原系统吧不过你要注意的是你要复原的数据量不能够高於快照区所能负载的实际容量。由於原始数据会被搬移到快照区 如果你的快照区不够大若原始数据被更动的实际数据量比快照区大那么快照区当然容纳不了这时候快照功能会失效喔 所以上面的案例中鸟哥才给予 60 个 PE (共 900MB) 作为快照区存放数据用。 我们的 /mnt/lvm 已经有 /mnt/lvm/etc, /mnt/lvm/log 等目录了接下来我们将这个文件系统的内容作个变更 然后再以快照区数据还原看看 # 1. 先将原本的 /dev/vbirdvg/vbirdlv 内容作些变更增增减减一些目录吧 [rootwww ~]# df /mnt/lvm Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vbirdvg-vbirdlv6955584 262632 6410328 4% /mnt/lvm[rootwww ~]# ll /mnt/lvm drwxr-xr-x 105 root root 12288 Mar 11 16:59 etc drwxr-xr-x 17 root root 4096 Mar 11 14:17 log drwx------ 2 root root 16384 Mar 11 16:59 lostfound[rootwww ~]# rm -r /mnt/lvm/log [rootwww ~]# cp -a /boot /lib /sbin /mnt/lvm [rootwww ~]# ll /mnt/lvm drwxr-xr-x 4 root root 4096 Dec 15 16:28 boot drwxr-xr-x 105 root root 12288 Mar 11 16:59 etc drwxr-xr-x 14 root root 4096 Sep 5 2008 lib drwx------ 2 root root 16384 Mar 11 16:59 lostfound drwxr-xr-x 2 root root 12288 Sep 5 2008 sbin # 看起来数据已经不一样了[rootwww ~]# lvdisplay /dev/vbirdvg/vbirdss--- Logical volume ---LV Name /dev/vbirdvg/vbirdssVG Name vbirdvg ....(中间省略)....Allocated to snapshot 12.22% ....(底下省略).... # 从这里也看得出来快照区已经被使用了 12.22% 因为原始的文件系统有异动过# 2. 利用快照区将原本的 filesystem 备份 [rootwww ~]# mount /dev/vbirdvg/vbirdss /mnt/snapshot [rootwww ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vbirdvg-vbirdlv6955584 370472 6302488 6% /mnt/lvm /dev/mapper/vbirdvg-vbirdss6955584 262632 6410328 4% /mnt/snapshot # 看吧两者确实不一样了开始将快照区内容复制出来吧[rootwww ~]# mkdir -p /backups 确认真的有这个目录 [rootwww ~]# cd /mnt/snapshot [rootwww snapshot]# tar -jcv -f /backups/lvm.tar.bz2 * # 此时你就会有一个备份数据亦即是 /backups/lvm.tar.bz2 了为什么要备份呢为什么不可以直接格式化 /dev/vbirdvg/vbirdlv 然后将 /dev/vbirdvg/vbirdss 直接复制给 vbirdlv 呢 要知道 vbirdss 其实是 vbirdlv 的快照因此如果你格式化整个 vbirdlv 时原本的文件系统所有数据都会被搬移到 vbirdss。 那如果 vbirdss 的容量不够大 (通常也真的不够大)那么部分数据将无法复制到 vbirdss 内数据当然无法全部还原啊 所以才要在上面表格中制作出一个备份文件的了解乎 而快照还有另外一个功能就是你可以比对 /mnt/lvm 与 /mnt/snapshot 的内容就能够发现到最近你到底改了啥咚咚 这样也是很不赖啊您说是吧 ^_^接下来让我们准备还原 vbirdlv 的内容吧 # 3. 将 vbirdss 卸载并移除 (因为里面的内容已经备份起来了) [rootwww ~]# umount /mnt/snapshot [rootwww ~]# lvremove /dev/vbirdvg/vbirdss Do you really want to remove active logical volume vbirdss? [y/n]: yLogical volume vbirdss successfully removed[rootwww ~]# umount /mnt/lvm [rootwww ~]# mkfs -t ext3 /dev/vbirdvg/vbirdlv [rootwww ~]# mount /dev/vbirdvg/vbirdlv /mnt/lvm [rootwww ~]# tar -jxv -f /backups/lvm.tar.bz2 -C /mnt/lvm [rootwww ~]# ll /mnt/lvm drwxr-xr-x 105 root root 12288 Mar 11 16:59 etc drwxr-xr-x 17 root root 4096 Mar 11 14:17 log drwx------ 2 root root 16384 Mar 11 16:59 lostfound # 是否与最初的内容相同啊这就是透过快照来还原的一个简单的方法罗利用快照区进行各项练习与测试的任务再以原系统还原快照 换个角度来想想我们将原本的 vbirdlv 当作备份数据然后将 vbirdss 当作实际在运行中的数据 任何测试的动作都在 vbirdss 这个快照区当中测试那么当测试完毕要将测试的数据删除时只要将快照区删去即可 而要复制一个 vbirdlv 的系统再作另外一个快照区即可这样是否非常方便啊 这对於教学环境中每年都要帮学生制作一个练习环境主机的测试非常有帮助呢 Tips:以前鸟哥老是觉得使用 LVM 的快照来进行备份不太合理因为还要制作一个备份档后来仔细研究并参考徐秉义老师的教材(注3)后才发现 LVM 的快照实在是一个棒到不行的工具尤其是在虚拟机器当中建置多份给同学使用的测试环境 你只要有一个基础的环境保持住其他的环境使用快照来提供即可。即时同学将系统搞烂了你只要将快照区删除 再重建一个快照区这样环境就恢复了天呐实在是太棒了 ^_^ # 1. 创建一个大一些的快照区让我们将 /dev/hda6 的 PE 全部给快照区 [rootwww ~]# lvcreate -s -l 89 -n vbirdss /dev/vbirdvg/vbirdlvLogical volume vbirdss created[rootwww ~]# lvdisplay /dev/vbirdvg/vbirdss--- Logical volume ---LV Name /dev/vbirdvg/vbirdssVG Name vbirdvgLV UUID as0ocQ-KjRS-Bu7y-fYoD-1CHC-0V3Y-JYsjj1LV Write Access read/writeLV snapshot status active destination for /dev/vbirdvg/vbirdlvLV Status available# open 0LV Size 6.97 GBCurrent LE 446COW-table size 1.39 GBCOW-table LE 89Allocated to snapshot 0.00%Snapshot chunk size 4.00 KBSegments 1Allocation inheritRead ahead sectors auto- currently set to 256Block device 253:1 # 如何这个快照区不小吧# 2. 隐藏 vbirdlv 挂载 vbirdss [rootwww ~]# umount /mnt/lvm [rootwww ~]# mount /dev/vbirdvg/vbirdss /mnt/snapshot [rootwww ~]# df /mnt/snapshot Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vbirdvg-vbirdss7192504 265804 6561340 4% /mnt/snapshot# 3. 开始恶搞 [rootwww ~]# rm -r /mnt/snapshot/etc /mnt/snapshot/log [rootwww ~]# cp -a /boot /lib /sbin /mnt/snapshot/ [rootwww ~]# ll /mnt/snapshot drwxr-xr-x 4 root root 4096 Dec 15 16:28 boot drwxr-xr-x 14 root root 4096 Sep 5 2008 lib drwx------ 2 root root 16384 Mar 11 16:59 lostfound drwxr-xr-x 2 root root 12288 Sep 5 2008 sbin 与原本数据有差异了[rootwww ~]# mount /dev/vbirdvg/vbirdlv /mnt/lvm [rootwww ~]# ll /mnt/lvm drwxr-xr-x 105 root root 12288 Mar 11 16:59 etc drwxr-xr-x 17 root root 4096 Mar 11 14:17 log drwx------ 2 root root 16384 Mar 11 16:59 lostfound # 不论你在快照区恶搞啥咚咚原本的 vbirdlv 里面的数据安好如初啊 # 假设你将 vbirdss 搞烂了里面的数据不再需要那该如何是好# 4. 还原原本快照区的数据回到与原文件系统相同的资讯 [rootwww ~]# umount /mnt/snapshot [rootwww ~]# lvremove /dev/vbirdvg/vbirdss Do you really want to remove active logical volume vbirdss? [y/n]: yLogical volume vbirdss successfully removed[rootwww ~]# lvcreate -s -l 89 -n vbirdss /dev/vbirdvg/vbirdlv [rootwww ~]# mount /dev/vbirdvg/vbirdss /mnt/snapshot [rootwww ~]# ll /mnt/snapshot drwxr-xr-x 105 root root 12288 Mar 11 16:59 etc drwxr-xr-x 17 root root 4096 Mar 11 14:17 log drwx------ 2 root root 16384 Mar 11 16:59 lostfound # 数据这样就复原了老实说上面的测试有点无厘头因为快照区损毁了就删除再建一个就好啦何必还要测试呢 不过为了让您了解到快照区也能够这样使用上面的测试还是需要存在的啦未来如果你有接触到虚拟机器 再回到这里来温习一下肯定会有收获的 转载于:https://www.cnblogs.com/centos2017/p/7896708.html
http://wiki.neutronadmin.com/news/146483/

相关文章:

  • 阿里云网站建设方案书河北建设厅查询网站
  • 百度 安徽省工程建设信息网站个人网站备案内容
  • 网站开发和微信开发需要什么人ps制作手机app界面设计
  • 成都彭州网站建设仿历史网站模板下载
  • 站群管理系统cms个人主页设计图
  • 山西天镇建站哪家好站长之家网址查询
  • 国内优秀设计网站推荐保定网站开发
  • 做博客网站需要工具吗网站可信认证必做
  • 基于php的电商网站开发广州网站建设智能 乐云践新
  • 免费拍卖网站模板做网站的怎么认证微博
  • microsoft做网站滑县网站建设策划
  • 小米网站 用什么做的企业建站找哪个公司
  • 仿站定制模板建站广州免费律师援助
  • 企业做网站推广产品需要多少钱什么是同ip网站
  • 衡水网站建设费用c盘优化大师
  • 保健品网站可以做网站用花生壳怎么做网站的服务器
  • 安徽seo网站推广定制微信网站
  • 聊城定制型网站开发984网站建设项目
  • 网站设计深圳联系电话?wordpress显示当前时间
  • 开发公司融资专干笔试百度搜索优化平台
  • 扁平化设计网站建设商铺装修找谁
  • 网站建设主要用什么软件利用网站宣传 两学一做
  • 哪里做网站最便宜网站建设与管理复习知识点
  • 资金盘做网站WordPress底部固定导航
  • 寻花问柳专注做男人喜爱的网站手机定制软件
  • 外贸仿牌网站被封的后果外贸网站怎么做才好
  • 网站建设完成之后要索取哪些电商网站建设求职定位
  • 临沂手机网站建设长沙网页制作开发公司
  • 短视频网站如何做推广阿里云网站商城建设
  • 网站建设的一些背景图片wordpress重定向地址不匹配