
在现代的服务器管理中,灵活的存储管理变得尤为重要。LVM(Logical Volume Manager)作为Linux系统中的一项重要功能,能够通过逻辑卷分组的方式有效管理磁盘空间,满足动态分区和扩容的需求。接下来,我们将详细介绍如何在CentOS上进行LVM分区扩容。
关于linux中的磁盘扩容和LVM的疑问
LVM 甚至可以在服务器不断电的情况下动态对磁盘进行扩容,再虚拟一块硬盘后来加入到LVM中1.添加虚拟硬盘先关掉虚拟机的电源,然后选择虚拟机,点右键,setting里面点击Add后选择硬盘设备,设置硬盘为1G2.开启电源,RHEL5启动完成后格式化硬盘,划出硬盘分区并将格式改为 LVM格式fdisk -l 查看硬盘分区情况Disk /dev/hda: 4294 MB, bytes255 heads, 63 sectors/track, 522 cylindersUnits = cylinders of * 512 = bytes Device BootStart EndBlocks IdSystem/dev/hda1 * 83Linux/dev/hda214 522 +8eLinux LVMDisk /dev/hdb: 4294 MB, bytes16 heads, 63 sectors/track, 8322 cylindersUnits = cylinders of 1008 * 512 = bytes Device BootStart EndBlocks IdSystem/dev/hdb1 +8eLinux LVMfdisk /dev/hdbnp2Command (m for help): n 新建分区Command action e extended p primary partition (1-4)分区类型为主分区(如果硬盘分区超过4个了,则选择扩展分区,再新建逻辑分区)pPartition number (1-4): 2第几个分区First cylinder (1986-8322, default 1986):起始磁柱 Using default value 1986 这时选默认Last cylinder or +size or +sizeM or +sizeK (1986-8322, default 8322): +1024M这里我们将这个分区设成一GCommand (m for help): p 查看分区情况Disk /dev/hdb: 4294 MB, bytes16 heads, 63 sectors/track, 8322 cylindersUnits = cylinders of 1008 * 512 = bytes Device BootStart EndBlocks IdSystem/dev/hdb1 +8eLinux LVM/dev/hdb 83LinuxCommand (m for help): t 更改分区的类型Partition number (1-4): 2 选择第二个Hex code (type L to list codes): 8e这里磁盘格式为 LINUX LVM ,可以使用L来进行查看Command (m for help): p 再次查看Disk /dev/hdb: 4294 MB, bytes16 heads, 63 sectors/track, 8322 cylindersUnits = cylinders of 1008 * 512 = bytes Device BootStart EndBlocks IdSystem/dev/hdb1 +8eLinux LVM/dev/hdb 8eLinux LVM可以看到 hdb2已经变成LVM格式了Command (m for help): w保存,切记要保存,不然上面分区,格式化的操作都不会执行,等于白做了The partition table has been altered!Calling ioctl() to re-read partition : Re-reading the partition table failed with error 16: Device or resource kernel still uses the old new table will be used at the next disks. 这里提示我们重启系统后分区表才会改变,其实用下面一个命令即可partprobe[root@el5test ~]# fdisk -lDisk /dev/hda: 4294 MB, bytes255 heads, 63 sectors/track, 522 cylindersUnits = cylinders of * 512 = bytes Device BootStart EndBlocks IdSystem/dev/hda1 * 83Linux/dev/hda214 522 +8eLinux LVMDisk /dev/hdb: 4294 MB, bytes16 heads, 63 sectors/track, 8322 cylindersUnits = cylinders of 1008 * 512 = bytes Device BootStart EndBlocks IdSystem/dev/hdb1 +8eLinux LVM/dev/hdb 8eLinux LVM 可以看到hdb2格式化完成了3.加入到LVM中[root@el5test ~]# pvdisplay 先看下系统中PV--- Physical volume ---PV Name /dev/hda2VG Name VolGroup00PV Size 3.90 GB / not usable 24.72 MBAllocatable yes (but full)PE Size (KByte) Total PE124Free PE 0Allocated PE124PV UUID 0fxOi9-ZeOY-OlQf-QmIO-Gpb4-kaci-24ovGP--- Physical volume ---PV Name /dev/hdb1VG Name VolGroup00PV Size 976.96 MB / not usable 16.96 MBAllocatable yesPE Size (KByte) Total PE30Free PE 5Allocated PE25PV UUID dtNfYJ-31fK-5CxL-9Pxa-pYWb-GcQ5-Vt5011[root@el5test ~]# pvcreate /dev/hdb2建立物理卷(PV)Physical volume /dev/hdb2 successfully created[root@el5test ~]# vgextend VolGroup00 /dev/hdb2把新物理卷加入到卷组中去/dev/cdrom: open failed: Read-only file systemAttempt to close device /dev/cdrom which is not group VolGroup00 successfully extended加入成功[root@el5test ~]# lvextend -L+1G /dev/VolGroup00/LogVol00 把新的空间加到逻辑卷中去Extending logical volume LogVol00 to 5.03 GBLogical volume LogVol00 successfully resized[root@el5test ~]# resize2fs -p /dev/VolGroup00/LogVol00加上去之后,目前用df -h还看不到新的空间,需要激活resize2fs 1.39 (29-May-2006)Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing requiredPerforming an on-line resize of /dev/VolGroup00/LogVol00 to (4k) filesystem on /dev/VolGroup00/LogVol00 is now blocks long.[root@el5test ~]# df -h FilesystemSizeUsed Avail Use% Mounted on/dev/mapper/VolGroup00-LogVol004.9G3.0G1.7G65% /可以看到这个卷动态放大了/dev/hda199M 14M 81M15% /boottmpfs 132M 0132M 0% /dev/shmnone132M104K132M 1% /var/lib/xenstored
linux lvm 磁盘管理 partprobe和resize2fs这两个命令的区别
partprobe不是LVM里面的命令,此命令用于在硬盘分区发生改变时,更新Linux内核中读取的硬盘分区表数据resize2fs也不是LVM命令,此命令用于扩大或者缩小ext2、ext3或ext4文件大小一个命令是用于磁盘分区,另一个用在文件系统

如何通过RHEL 5实现软RAID及LVM?
RAID是Redundant Array of Inexpensive Disk的缩写,意为廉价冗余磁盘阵列,是磁盘阵列在技术上实现的理论标准,其目的在于减少错误、提高存储系统的性能与可靠度。 常用的等级有0、1、5级等。 ◆RAID 0RAID 0将数据分条,存储到多个磁盘中,不带任何冗余信息。 数据被分割成块,继续分布到磁盘中。 这一级别也被认为是纯粹的数据分条。 创建RAID 0 需要一个或多个磁盘。 也就是说,单独的一个磁盘可以被认为是一个RAID 0 阵列。 不幸的是,数据分条降低了数据的可用性,如果一个磁盘发生错误,整个阵列将会瘫痪。 优点:易于实现 、无容量损失-所有的存储空间都可用缺点:无容错能力、一个磁盘出错导致损失所有阵列内的数据◆RAID 1RAID 1适合性能要求较高又需要容错功能的阵列。 另外, RAID 1是在只有少于2个磁盘的环境下支持容错功能的唯一选择。 RAID 1至少要有两个(只能两个)硬盘才能组成,因此也称为镜像(Mirroring)方式。 所谓镜像就是每两个硬盘的内容一模一样,但是对操作系统而言只呈现一个硬盘,以便于管理。 由此可见,RAID 1对数据进行了完全的备份,其可靠性是最高的。 当然,其数据的写入时间可能会稍长一点,但因为两个镜象硬盘可以同时读取数据,故读数据与RAID 0一样。 磁盘阵列的总容量为其中N/2块硬盘的容量在RAID 级别中,RAID 1通过数据镜像提供了最高的信息可用性。 另外,如果阵列支持数据和镜像的同时读取,读取信息的性能将会提高。 优点:读取性能较单磁盘高缺点:需要2倍的存储空间◆RAID 5RAID 5 是在多用户,对数据写入的性能要求不高的环境下的最好选择。 然而,它要求至少3个磁盘来执行。 RAID 5是将数据分条,奇偶校验产生冗余。 但是,它不采用一个固定的硬盘来存储奇偶校验值,所有数据和校验值都分布在所有硬盘上。 ◆优点:最高的信息处理读取率、经济实用-只需要一个额外的磁盘◆缺点:单独信息块的传送和单磁盘时相同、需要特定的硬件下面将以讲述在RHEL 5中创建RAID 1为例子。 ◆将分区标识为RAID分区,在创建软RAID这步是必须的,如果没执行在系统重启后,RAID设备可能会无法工作。 ◆建立RAID设备及定义RAID盘1:创建一个RAID设备,在RHEL 5中RAID设备必须从md0开始依次增加。 2:同意创建设备,如不加此参数时必须先使用mknod /dev/md1 b 9 0命令来创建一个RAID设备,不过推荐使用-a yes参数一次性创建。 3:RAID级别,此处定义的是RAID 1。 4:使用几个分区实现RAID。 5:热备分区的个数。 当定义一些具有容错功能的RAID级别(RAID1、RAID5)时,可多定义一块或热备分区,这样当RAID阵列中有1块硬盘损坏时,这个热备分区会自动补上去开始工作。 6:加入RAID的分区。 ◆查看RAID定义情况1:查看指定RAID设备2:活动的二个RAID 1分区3:热备盘◆格式化RAID设备
发表评论