Linux分区调整时遇到的几个问题
由于公司新的业务的需要,新增了几台DELL R720服务器。在安装系统时,通过按F10进入lifecycle controller,发现其只支持centos 5.8和6.2版本。而目前最新的是centos 6.3 ,所以索性装成了最新版本。安装之前本想装使用LVM分区。不过由于长时间没装生产环境中使用的系统,同时又由于之前试其他版本耽误了不少时间,所以装的有点仓促。装完后发现不是及于LVM的ext4分区。仍是普通的ext4分区。于是就想在系统中再将系统转化为LVM管理,方便日后动态调整大小。不过在调整过程中遇到了几个问题,现汇总结下。
一、补充下安装时正确划分LVM卷下分区的方法
在分区选择界面时,步骤如下图所示。先装分区或磁盘创建为LVM物理卷 —— 再生成为LVM卷组 —— 并在创建分区时添加分区。
二、/etc/fstab未调整造成的无法重启错误
由于,之前分区时,分了logs、App、datat等多个分区。虽然也可以通过pvcreate /dev/sda{1,2,3}这样的方式创建LVM物理卷。但我还是希望通过fdisk先将data、logs、App等分区合并,合并完成后再创建LVM物理卷。在LVM物理卷下再创建挂载点。首先,我通过fdisk将后面的几个分区通过d删除。删除完了再创建。并w保存。不过我这些修改完后,忘了把/etc/fstab里的挂载信息修改了。造成reboot后出现不能重启。错误信息如下:
1*** An error occurred during the file system check.
2*** Dropping you to a shell;the system will reboot
3*** when you leave the shell.
4*** Waring --SELinux is active
5*** Disabling security enforcement for system recovery.
6*** Run 'setenforce 1'to reenable.
7*** Give root password for maintenace
8(or type Control - D to continue):
通过修改grub,设置single模式,依然会出现上面的错误。这里实际上有两个问题,一个是提示selinux的警告。这个可能通过运行setenforce 1关闭,也可以修改/etc/selinux/conf文件设置为disabled一劳永逸。不过这个不是重点,装成不能启动的是第二个问题。需要注释掉/etc/fstab里我在fdisk里删除掉的分区。操作步骤如下:
1、输入root密码,进入修复模式
1(Repair filesystem) 1 #
2、查看根分区所在的设备名
1[root@localhost ~]# df -hl
2文件系统 容量 已用 可用 已用%% 挂载点
3/dev/sda3 145G 3.2G 134G 3% /
4tmpfs 16G 0 16G 0% /dev/shm
5/dev/sda1 194M 31M 153M 17% /boot
由于此时的分区下的文件是只读的。修改时会提示read-only,强制保存也不生效。需要重新挂载并修改。
3、重新挂载
1mount -o remount,rw /dev/sda3
修改/etc/fstab里,将fdisk删除掉的分区注释掉。并reboot 就可以顺利进入系统了。
三、错误Partition table entries are not in disk order
通过fdisk删除分区并新建分区,通过reboot重启后。再通过fdisk -l /dev/sda查看时,发现以上错误:
1[root@localhost ~]# fdisk -l /dev/sda
2Disk /dev/sda: 1199.1 GB, 1199101181952 bytes
3255 heads, 63 sectors/track, 145782 cylinders
4Units = cylinders of 16065 * 512 = 8225280 bytes
5Sector size (logical/physical): 512 bytes / 512 bytes
6I/O size (minimum/optimal): 512 bytes / 512 bytes
7Disk identifier: 0x00088aaf
8 Device Boot Start End Blocks Id System
9/dev/sda1 * 1 26 204800 83 Linux
10Partition 1 does not end on cylinder boundary.
11/dev/sda2 26 4203 33554773+ 82 Linux swap / Solaris
12/dev/sda3 77790 96913 153600000 83 Linux
13/dev/sda4 4204 77789 591079545 83 Linux
14Partition table entries are not in disk order
出现该提示的原因是因为现在分区表中分区的顺序的硬盘物理顺序不一致,该提示并不会影响到正常使用,不过想要修复也很简单。
1[root@localhost ~]# fdisk /dev/sda
2Command (m for help): x
3Expert command (m for help): m
4Command action
5f fix partition order
6r return to main menu
7w write table to disk and exit
8Expert command (m for help): f
9Done.
10Expert command (m for help): r
11Command (m for help): w
在帮助信息中,我只保留了上面用到的三个命令。上面的f 、r的使用需要先使用x。调整完成后,重启后再查看就不会有该提示了。不过,在修复该问题时,修复该问题时是有风险的。要特别注意/etc/fstab 的对应关系是否正确。例如:如果原来根分区在/dev/sda3 ,修改后可能根分区会变成/dev/sda2 。但UUID号不会变,所以这就是使用UUID号的一个好处。
四、Partition 1 does not end on cylinder boundary
在上一个问题里,我们通过fdisk -l查看时,实际上已经有该问题了。我曾尝试过重新安装,发现刚刚重新安装过的系统也会有这个提示。通过网上查询该问题并不会影响使用。具体造成该问题的原因是:fdisk /dev/sda进行分区是通过柱面来进行分区的。按柱面进行分区是按垂直的空间来进行理解,但是计算机显示时会按扇区来判断分区是否结束。而如果在分区时使用fdisk -u /dev/sda进行分区则不会有该提示。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/fdisk-lvm-error/2052.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.