系统Centos 9 (是的,实在找不到地方提问,还请各位大大不要有门户之见 /(ㄒoㄒ)/~~)
操作步骤如下:
添加一个新硬盘,
分区
gdisk,
分区结果如下:
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/sda: 266338304 sectors, 127.0 GiB
Model: Virtual Disk
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): 8AF44316-C2A1-47C2-A002-2076FB21066A
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 266338270
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 83888127 40.0 GiB 8300 Linux filesystem
2 83888128 266338270 87.0 GiB 8300 Linux filesystem
格式化(创建文件系统)
/dev/sda1: UUID="851eb8e4-ceac-4c4c-9e2b-c6582f64d6ac" TYPE="xfs" PARTLABEL="Linux filesystem" PARTUUID="f6f8a2a4-8b2c-4bff-bef1-49d558db8996"
映射到临时目录
mkdir /tmpdata
mount /dev/sda1 /tmpdata
备份文件到临时目录
rsync -axv /var /tmpdata
卸载掉临时目录
umount /tmpdata
备份var,将新sda1映射到var
mv /var /var.bak
mkdir /var
mount /dev/sda1 /var
修改fstab
UUID=851eb8e4-ceac-4c4c-9e2b-c6582f64d6ac /var xfs defaults 0 0
验证
mount -a 验证通过
df -h /var 验证通过。
Reboot重新启动系统,启动失败
进入单人模式,执行 mount -a,报错:/dev/mapper/cs-home does not exist
查看 /dev/mapper目录, 确实没有cs-home目录。但是why???
另外,如果我将映射目录修改为 /var/lib/docker,重新启动则没问题。
如下图:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 127G 0 disk
├─sda1 8:1 0 40G 0 part /var/lib/docker
└─sda2 8:2 0 87G 0 part
sdb 8:16 0 127G 0 disk
├─sdb1 8:17 0 600M 0 part /boot/efi
├─sdb2 8:18 0 1G 0 part /boot
└─sdb3 8:19 0 125.4G 0 part
├─cs-root 253:0 0 70G 0 lvm /
├─cs-swap 253:1 0 3.9G 0 lvm [SWAP]
└─cs-home 253:2 0 51.5G 0 lvm /home
所以,现在的问题是,为什么/var目录不可以,查了一些资料,并没有说启动过程中必须使用/var目录的,难道是记日志? 如果这样说,是在启动的过程中先会有记日志的需求,后面才会加载fstab中的东东?
求大佬解惑!!!
感谢
离线
没听说过 CentOS 9。
看着像是启动顺序的问题。挂载的时候 lvm 还没设置好。
离线
没听说过 CentOS 9。
看着像是启动顺序的问题。挂载的时候 lvm 还没设置好。
CentOS 9 就是 centos stream 9
不确定是不是启动顺序问题,
如果是 挂载的时候 lvm 还没设置好 的话,有一点说不通:/dev/mapper目录下共有三个LVM,其他两个(cs-swap,cs-root)就没事,唯独这个cs-home不行。
离线
是指「挂载 /var」的时候,不是「挂载」的时候——不同目录可能会在不同的时候挂载。我不知道你能看到多少启动日志,总之还是先看看吧。
离线
问题已解决
问题原因:磁盘挂载顺序问题。
解决方法:将该磁盘挂在fstab中的挂载顺序调整到/dev/mapper/cs-home之前就可以
前两天突然想到,都是挂载,没道理找不到这个,然后不知道怎么滴就想到之前看到过文章,说是这个挂载顺序很重要。
今天终于有时间试了一下,成功!!
晒一下可以work的顺序:
/dev/mapper/cs-root / xfs defaults 0 0
UUID=63620e7a-84f8-454d-81b9-da0e4fb05d84 /boot xfs defaults 0 0
UUID=311F-1001 /boot/efi vfat umask=0077,shortname=winnt 0 2
UUID=851eb8e4-ceac-4c4c-9e2b-c6582f64d6ac /var xfs defaults 0 0 #重点这行,这是后添加的,放在此处就可以
/dev/mapper/cs-home /home xfs defaults 0 0
/dev/mapper/cs-swap none swap defaults 0 0
原来的顺序:
/dev/mapper/cs-root / xfs defaults 0 0
UUID=63620e7a-84f8-454d-81b9-da0e4fb05d84 /boot xfs defaults 0 0
UUID=311F-1001 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/cs-home /home xfs defaults 0 0
/dev/mapper/cs-swap none swap defaults 0 0
UUID=851eb8e4-ceac-4c4c-9e2b-c6582f64d6ac /var xfs defaults 0 0 #原来放在此位置,启动后就会报找不到cs-home的错误
离线
啊,不愧是 CentOS 系列,都 9 了竟然还要关心 fstab 里的挂载顺序……
离线