前言:
此时各位老铁们对“centos repair filesystem”大致比较关注,看官们都想要知道一些“centos repair filesystem”的相关文章。那么小编也在网络上搜集了一些对于“centos repair filesystem””的相关文章,希望我们能喜欢,同学们快快来学习一下吧!【适用于Linux/Ubuntu】
安装扩充硬盘,如果是独立硬盘,可以用LVM逻辑分区进行管理分配,便于后期扩展扩充。
注意!在安装系统时,若未使用LVM分区,系统默认不安装lvm2工具,本次操作基于lvm2工具进行,需要提前准备安装:# apt install lvm2 -y
检查磁盘
1、查看当前磁盘
# fdisk -l
Disk /dev/loop0: 55.45 MiB, 58130432 bytes, 113536 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop1: 70.32 MiB, 73728000 bytes, 144000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop2: 32.3 MiB, 33865728 bytes, 66144 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sdb: 100 GiB, 107374182400 bytes, 209715200 sectors #第二块硬盘
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors #第一块硬盘
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: E0AAAE47-980E-426F-872D-10C00817C200
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 2101247 2097152 1G Linux filesystem
/dev/sda3 2101248 209713151 207611904 99G Linux filesystem
#文件系统挂载分区
Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 49.51 GiB, 53150220288 bytes, 103809024 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
/dev/sda: 100 GiB为当前正在使用的第一块磁盘;
/dev/loop*为当前分区信息;
/dev/sdb: 100 GiB为新添加的第二块磁盘;
2、查看磁盘分区
# df -h
Filesystem Size Used Avail Use% Mounted on
udev 936M 0 936M 0% /dev
tmpfs 196M 1.3M 195M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 49G 7.2G 39G 16% /
tmpfs 980M 0 980M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 980M 0 980M 0% /sys/fs/cgroup
/dev/loop0 56M 56M 0 100% /snap/core18/2128
/dev/loop1 71M 71M 0 100% /snap/lxd/21029
/dev/loop2 33M 33M 0 100% /snap/snapd/12704
/dev/sda2 976M 107M 803M 12% /boot
tmpfs 196M 0 196M 0% /run/user/1000
删除分区
注意!如果硬盘是全新的,可跳过【删除分区】的步骤,按照【创建PV】操作;
1)根据“磁盘分区”的检查结果,确保sdb的分区未被挂载;
2)如果已挂载需先umount,然后在/etc/fstab里删除相关配置;
3)取消sdb挂载:# vi /etc/fstab 后删除对应的条目;
4)若删除挂载并重启后,出现如下信息:
*** An error occurred during the file system check.
*** Dropping you to a shell; the system will reboot
Give root password for maintenance
(or type Control D to continue):
5)在修复模式下(Repair filesystem)文件是被保护的,不能被修改 。因此编辑 # vi /etc/fstab 后并不能保存;
6)可以运行 # mount -o remount, rw /,把系统文件权限修改为可读写(rw),然后编辑/etc/fstab并删除挂载点信息,重启服务器即可解决问题;
7)进入sdb的磁盘编辑界面:
注意!若不熟悉磁盘管理命令,可输入“m或help”查看命令说明;
# sudo fdisk /dev/sdb
8)输入“d”,若单个磁盘下存在多个分区存在时,会提示选择删除的分区(也会有默认选项),根据实际清空就连续输入“d+Enter”即可,直至提示已无分区可删,最后输入“w”,确认执行操作并退出;
9)至此,磁盘格式化重置完毕,可以用 # sudo fdisk -l 命令再次查看,应该与新盘一致。
创建PV
PV(physical volume物理卷),将硬盘初始化为物理卷(若有多块硬盘依次执行),以便LVM使用;
注意!无论是新增磁盘、扩展磁盘,都必须先创建物理卷;
1、创建物理卷
# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
注意!出现如下报错信息,则选择指定硬盘,按照【删除分区】操作;
Device /dev/sdb'excluded by a filter
删除PV:# pvremove /dev/sdd
验证PV是否删除:# pvscan
检查物理卷是否创建成功,并检查相应格式配置;
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 ubuntu-vg lvm2 a-- <99.00g 0 #已有的物理卷信息
/dev/sdb ubuntu-vg1 lvm2 a-- <20.00g 0 #已有的物理卷信息
/dev/sdc lvm2 --- 20.00g 20.00g
/dev/sdd ubuntu-vg1 lvm2 a-- <20.00g 0 #已有的物理卷信息,并已扩展到ubuntu-vg1卷组中
2、显示物理卷信息
# pvdisplay
--- Physical volume ---
PV Name /dev/sda3 #原有的PV(物理卷)
VG Name ubuntu-vg
PV Size <99.00 GiB / not usable 0
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 25343
Free PE 0
Allocated PE 25343
PV UUID Cyjjiz-pqqq-L73R-yvG9-G1IN-Em47-MDTwvc
"/dev/sdb" is a new physical volume of "100.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb #新增的PV(物理卷)
VG Name
PV Size 100.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID E3FC40-jFuJ-ddiK-GrNF-joKb-Nig6-N3gP4Q
创建VG
VG(volume group物理卷组),独立硬盘设置独立物理卷组(即可以设置单独VG),也可以将一组物理卷组收集为一个管理单元;
注意:若准备扩展磁盘,可以跳过本节第1点,参考本节第2点(扩展VG)
1、创建VG(独立硬盘设置独立物理卷组)
# vgcreate ubuntu-vg1 /dev/sdb #创建VG并设置VG名称为ubuntu-vg1
Volume group "ubuntu-vg1" successfully created
2、显示VG信息
# vgdisplay
--- Volume group ---
VG Name ubuntu-vg1 #新增VG
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <100.00 GiB
PE Size 4.00 MiB
Total PE 25599
Alloc PE / Size 0 / 0
Free PE / Size 25599 / <100.00 GiB
VG UUID AACe19-HDWc-s8Zs-YrjX-29sO-WPAv-C2KmRM
--- Volume group ---
VG Name ubuntu-vg #原有VG
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <99.00 GiB
PE Size 4.00 MiB
Total PE 25343
Alloc PE / Size 25343 / <99.00 GiB
Free PE / Size 0 / 0
VG UUID CV1yAL-cUhd-VwW8-GwOY-GFpG-gJ0l-4c83wA
2、扩展VG( 多块硬盘扩展为一个物理卷组)
注意!若有多块硬盘扩展VG时,可以将多个VG收集并做为一个管理单元。如:可以先使用sdb(第1块新增磁盘)作为管理单元起点,然后用sdc(第2块新增磁盘)扩展sdb。
说明:
#vgcreate [自定义vg名称] [硬盘设备]
#vgextend [被扩展vg名称] [硬盘设备]
在本次实例中只有1块新增磁盘,因此只设置单元起点,为以后再新增磁盘时进行扩展方便。
查看VG信息:# vgscan
查看卷组ubuntu-vg1包含的PV、LV信息:# vgdisplay -v ubuntu-vg1
将已建立PV物理卷的新增磁盘/dev/sdd扩展到卷组ubuntu-vg1上
# vgextend ubuntu-vg1 /dev/sdd
Volume group "ubuntu-vg1" successfully extended
查看ubuntu-vg1扩展后的信息
# vgdisplay
--- Volume group ---
VG Name ubuntu-vg1
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 39.99 GiB
PE Size 4.00 MiB
Total PE 10238
Alloc PE / Size 4864 / 19.00 GiB
Free PE / Size 5374 / 20.99 GiB
VG UUID udxpQ4-UUtF-QTFi-kdCl-IbHZ-1l10-eiOsdO
--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <99.00 GiB
PE Size 4.00 MiB
Total PE 25343
Alloc PE / Size 25343 / <99.00 GiB
Free PE / Size 0 / 0
VG UUID Y9Hjve-MngI-9rbW-jLSC-wyRd-D1GQ-QN7ev0
3、删除VG
# vgremove ubuntu-vg2
Volume group "ubuntu-vg2" successfully removed
如果采用安全的方式删除卷组VG,则必须使用 # vgchange -a n ubuntu-vg2 关闭ubuntu-vg2,然后才可以删除它。
# vgchange -a n ubuntu-vg2
Volume group "ubuntu-vg2" not found
Cannot process volume group ubuntu-vg2
验证卷组VG是否已删除:
# vgscan
Found volume group "ubuntu-vg1" using metadata type lvm2
Found volume group "ubuntu-vg" using metadata type lvm2
4、合并VG(已扩展VG合并为一个管理单元)
给逻辑卷分区VG(ubuntu-vg1)增加39.99G
# lvextend -L +20.99G /dev/ubuntu-vg1/data
Rounding size to boundary between physical extents: 20.99 GiB.
Size of logical volume ubuntu-vg1/data changed from 19.00 GiB (4864 extents) to 39.99 GiB (10238 extents).
Logical volume ubuntu-vg1/data successfully resized.
重新计算/dev/ubuntu-vg1/data,使用扩展容量生效
# resize2fs /dev/ubuntu-vg1/data
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/ubuntu-vg1/data is mounted on /data; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 5
The filesystem on /dev/ubuntu-vg1/data is now 10483712 (4k) blocks long.
查看/dev/ubuntu-vg1/data的新容量
# df -h
Filesystem Size Used Avail Use% Mounted on
udev 934M 0 934M 0% /dev
tmpfs 196M 1.3M 195M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 98G 13G 81G 14% /
tmpfs 978M 0 978M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 978M 0 978M 0% /sys/fs/cgroup
/dev/mapper/ubuntu--vg1-data 40G 52M 38G 1% /data
/dev/loop0 71M 71M 0 100% /snap/lxd/21029
/dev/loop1 56M 56M 0 100% /snap/core18/2128
/dev/loop2 33M 33M 0 100% /snap/snapd/12704
/dev/sda2 976M 223M 687M 25% /boot
tmpfs 196M 0 196M 0% /run/user/0
创建LV
LV(logical volume逻辑卷/分区),用来管理第4步创建物理卷组,并格式化分区;
1、创建LV(占满所有磁盘)
注意!一般情况下,不能创建完整容量(如:磁盘有50G,创建LV是50G,会出现创建不成功);需要空出一点空间(如:磁盘有50G,创建LV是49.9G,即可完成);
# lvcreate -L +99G -n data ubuntu-vg1
Logical volume "data" created.
查看逻辑卷状态
# lvdisplay
--- Logical volume ---
LV Path /dev/ubuntu-vg1/data
LV Name data
VG Name ubuntu-vg1
LV UUID 22q76v-A7Xo-cI3n-n5DC-T9mU-3N3y-YJQCbf
LV Write Access read/write
LV Creation host, time fds10, 2021-12-13 11:08:43 +0800
LV Status available
# open 0
LV Size 99.00 GiB
Current LE 25344
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
查看物理卷组状态
root@fds10:~# vgdisplay
--- Volume group ---
VG Name ubuntu-vg1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 8
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <100.00 GiB
PE Size 4.00 MiB
Total PE 25599
Alloc PE / Size 25344 / 99.00 GiB
Free PE / Size 255 / 1020.00 MiB
VG UUID AACe19-HDWc-s8Zs-YrjX-29sO-WPAv-C2KmRM
2、格式化LV(创建LV后,需要格式化LV,才能正常使用)
【适用于Ubuntu】
# mkfs.ext4 /dev/ubuntu-vg1/data
mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 25952256 4k blocks and 6488064 inodes
Filesystem UUID: d307f78f-51f2-4b6e-af36-efac5027f055
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (131072 blocks): done
Writing superblocks and filesystem accounting information: done
【适用于CentOS】
# lvcreate -L +499.99G -n data centos-vg
Rounding up size to full physical extent 499.99 GiB
Logical volume "data" created.
# mkfs.xfs /dev/centos-vg/data
meta-data=/dev/centos-vg/data isize=512 agcount=4, agsize=32767488 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=131069952, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=63999, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none
注意!如果是CentOS7,需要格式化成xfs文件系统,命令行是:# mkfs.xfs /dev/centos-vg1/data
同时,在测试中由于centos-vg1中带了一个 “-” ,在挂载重启后会变成 “--” 两个中横杠的情况。
3、卸载LV
要卸载对应卷组VG的所有逻辑卷LV,从上面的信息可以看出对应的物理卷组ubuntu-vg1只有/dev/ubuntu-vg1/data这个逻辑卷LV,因此用以下方法卸载(注意:卸载不等于删除)。
# umount /dev/ubuntu-vg1/data
4、移除LV
# lvremove /dev/ubuntu-vg1/data
Do you really want to remove and DISCARD active logical volume ubuntu-vg1/data? [y/n]: y
Logical volume "data" successfully removed
验证LV是否删除:# lvdisplay | grep "dev/ubuntu-vg2/data1"
设置开机自动挂载
设置开机自动挂载至指定目录“/data”
查询分区UUID:
# blkid
/dev/sr0: UUID="2021-08-24-09-09-05-00" LABEL="Ubuntu-Server 20.04.3 LTS amd64" TYPE="iso9660" PTUUID="7fcaeaa1" PTTYPE="dos"
/dev/sda2: UUID="580224a3-b988-47e1-bd13-b8eb8d97be68" TYPE="ext4" PARTUUID="c4afd6ee-18d3-4167-83f8-175c95779cfe"
/dev/sda3: UUID="wcE0WC-QUoy-A8Ac-kCNv-2PDP-Fogb-iWyHg3" TYPE="LVM2_member" PARTUUID="72394099-2af8-4209-8758-a94987ac1154"
/dev/mapper/ubuntu--vg-ubuntu--lv: UUID="ae1119c5-887e-416f-bb03-29d0fed8d68a" TYPE="ext4"
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/sdb: UUID="0lHjFo-LkpT-kVJ1-bcgg-qQc9-jEDc-OdXGq7" TYPE="LVM2_member"
/dev/sda1: PARTUUID="d761cc85-49d8-4393-92d0-66447f8f9c65"
/dev/mapper/ubuntu--vg1-data: UUID="dc2c3dfe-c0be-46c3-8727-c810af09b05b" TYPE="ext4"
编辑配置文件,加入上述分区:
# sudo vim /etc/fstab
按insert,然后加入一条:
UUID=dc2c3dfe-c0be-46c3-8727-c810af09b05b /data ext4 defaults 0 0
注意!centos7 挂载时修改 /etc/fstab文件格式上稍有些区别,如下:
/dev/centos-vg1/data /data ext4 defaults 0 0
/dev/mapper/data--vg1-data: UUID="a5f9d7a4-25cf-49e5-8435-dfba463f9935" TYPE="xfs"