如何在每个RedHat安装中保持文件系统布局一致?

我想保持相同的服务器上的每个安装相同的以下布局:

dm-0 /dev/VolGroup00/LogVol00 dm-1 /dev/VolGroup00/LogVol01 dm-2 /dev/VolGroup00/LogVol02 dm-3 /dev/VolGroup00/LogVol03 dm-4 /dev/VolGroup00/LogVol04 dm-5 /dev/VolGroup00/LogVol05 dm-6 /dev/VolGroup00/LogVol06 

但是在每个RedHat安装中,它都会以不同的顺序创build卷并格式化文件系统。 如;

 dm-0 /dev/VolGroup00/LogVol0 dm-1 /dev/VolGroup00/LogVol02 dm-2 /dev/VolGroup00/LogVol03 dm-3 /dev/VolGroup00/LogVol04 dm-4 /dev/VolGroup00/LogVol05 dm-5 /dev/VolGroup00/LogVol06 dm-6 /dev/VolGroup00/LogVol01 

问题是我以相同的顺序添加卷组,但在创build过程中会更改它。 你能解释一下为什么会发生这种情况,我怎样才能让所有服务器的分区表保持一致?

正如Mark Wagner解释的那样,/ dev-dm? 设备在引导时由设备映射器dynamic分配,不pipe是手动还是通过/ etc / fstab挂载, 都不应该用作挂载点的来源。 相反,使用/ dev / volume_group / logical_volume或/ dev / mapper / volume_group-logical_volume,或使用blkid命令(或lvdisplay命令,也会显示)获得的UUID。 如果您不熟悉这些选项,可以使用这些命令获取更多详细信息。

为了在所有服务器上保持相同的分区设置,最好的方法是创buildKickstart文件并使用它来安装服务器。 不幸的是,system-config-kickstart GUI应用程序不允许你configuration逻辑卷组,所以你必须先保存它,然后手动编辑.cfg文件来设置你的磁盘。

要使用Kickstart文件进行安装,您需要在grub菜单中编辑内核参数,并添加ks=URL_TO_YOUR_KICKSTART_FILE 。 例如:ks = http://myserver.example.com/kickstart/mykickstartfile.cfg

这意味着您需要通过支持的networking协议(http,ftp,nfs,cifs等)在线提供kickstart文件。

以下是我在一个小型虚拟机上使用的LVM分区示例:

 # Disk partitioning information part /boot --asprimary --fstype="ext4" --size=200 part pv.01 --size=1 --grow volgroup vg0 pv.01 logvol swap --vgname=vg0 --name=swap --fstype=swap --recommended logvol /home --vgname=vg0 --name=home --size=512 --fstype ext4 logvol /tmp --vgname=vg0 --name=tmp --size=1024 --fstype ext4 logvol / --vgname=vg0 --name=root --size=1 --grow --fstype ext4 

以下是来自官方红帽文档站点的Kickstart的一个很好的参考:

32.4。 Kickstart选项

当然,在服务器的交互式安装过程中,您可以随时手动自定义磁盘分区,只需在所有服务器上执行相同的操作(将其logging在某处)。 希望有所帮助!

RedHat有自己的逻辑关于分区和放置什么。

如果你想完全控制,使用Kickstart的%pre部分设置分区表yourselv,创buildVG和LV。

对于分区使用parted ,对于VG / LV-actions使用lvs命令(如lvs pvcreate ... )。

您可以使用kickstart命令clearpart (在%pre-section之前)清除分区表。

分开后先创build一个标签,然后是分区。

一旦按照所需的顺序创buildLV,可以使用标准的kickstart语法将文件系统放置在其上。