我有一台运行 RHEL 的服务器,其硬盘配置如下。
[root@localhost indika]# fdisk -l
Disk /dev/sda: 150.3 GB, 150323855360 bytes
255 heads, 63 sectors/track, 18275 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008feb6
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 1301 10240000 83 Linux
/dev/sda3 1301 1938 5120000 82 Linux swap / Solaris
/dev/sda4 1938 18276 131234816 f W95 Ext'd (LBA)
/dev/sda5 1938 18276 131233792 83 Linux
Disk /dev/sdb: 53.7 GB, 53687091200 bytes
64 heads, 32 sectors/track, 51200 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8f903139
Device Boot Start End Blocks Id System
/dev/sdb1 1 51200 52428784 5 Extended
/dev/sdb5 1 51200 52428768 83 Linux
我在 /dev/sda5 中运行 MySQL 数据库,现在需要增加 MySQL 数据库的磁盘容量。我添加了辅助硬盘 /dev/sdb5,并计划使用 /dev/sda5 和 /dev/sdb5 创建逻辑卷。
是否可以使用这样的磁盘分区创建逻辑卷。如果可以,那么不建议这样做。
答案1
为了正确回答您的问题,是的,您当然可以在一个逻辑卷中聚合两个驱动器,但您必须执行一些额外的迁移步骤。
首先,准备第二个硬盘作为 LVM PhysicalVolume,简称 PV。其次,从此 PV 创建一个 VolumeGroup,简称 VG。然后创建一个位于 VG 上的逻辑卷(大小取决于您的需要),然后为其创建一个挂载点(或者不创建,由您决定),并使用您最喜欢的 mkfs.FS 对其进行格式化
让我们继续你的例子:
在这里我们将执行:
pvcreate /dev/sdb5
vgcreate VolGroup00 /dev/sdb5
lvcreate l+(Extends) or L+(Size) VolGroup00 LogVol00
然后:
mkdir /databases
mount /dev/mapper/VolGroup00/LogVol00 /databases
mkfs.ext4 /databases
一旦您有了这个目录,您就可以将您的数据库放入其中(由您执行热迁移或服务中断的手动迁移)。
然后,您将对 /dev/sda5 磁盘执行相同的操作。
fdisk -l /dev/sda5
t
8e
w
然后:
pvcreate /dev/sda5
vgextend VolGroup00 /dev/sda5
lvextend l+(Extends an int) or L+(Size in MB/GB) VolGroup00 LogVol00
最后:
resize2fs /databases
它将执行在线调整大小,因此有时在旧版本的 RHEL(如 4.x 和某些 5.x)上可能会失败
所以现在,如果你做了:
df -h
数据库的挂载点将是 LogVol00 的大小,它将适合您在创建期间指定的大小,并且不一定是 VolGroup00 的总量。
重要警告,我没有检查 LV 部分的命令行的准确性,因此之前使用命令--help 仔细检查,但应该没问题。
答案2
您可以使用 LVM 创建组,如这指南。但是,遗憾的是您无法这样做并保留数据,因为两个磁盘都需要格式化为 LVM。