Linux

我們可以向現有的已安裝 ext3/ext4 安裝點添加更多卷/磁碟嗎?

  • March 17, 2019

有一個關於通過新磁碟/塊設備將空間添加到具有數據並已掛載的非 root/ext3 掛載點的快速問題。

我有一個 ext3 掛載點“/u01”,它連接了一個設備“/dev/sdb”。

[root@vm2 ~]# findmnt -l /u01
TARGET SOURCE   FSTYPE OPTIONS
/u01   /dev/sdb ext3   rw,relatime,seclabel,errors=continue,user_xattr,acl,barrier=1,data=ordered

問題是該設備幾乎已滿 (67%),無法擴展。

[root@vm2 ~]# df -Th /u01
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/sdb       ext3   12G  7.5G  3.8G  67% /u01
[root@vm2 ~]#

所以我添加了另一個大小為 20g 的設備“/dev/sdk”並將其分區如下。

[root@vm2 ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0    5G  0 disk
├─sda1        8:1    0  500M  0 part /boot
└─sda2        8:2    0  4.5G  0 part
 ├─ol-root 252:0    0   16G  0 lvm  /
 └─ol-swap 252:1    0  512M  0 lvm  [SWAP]
sdb           8:16   0   12G  0 disk /u01
sdc           8:32   0   30G  0 disk /u02
sdd           8:48   0   30G  0 disk /u03
sde           8:64   0    4G  0 disk /redo1
sdf           8:80   0    4G  0 disk /redo2
sdg           8:96   0    4G  0 disk /cntl1
sdh           8:112  0    4G  0 disk /cntl2
sdi           8:128  0    6G  0 disk /gghome
sdj           8:144  0   12G  0 disk
└─sdj1        8:145  0   12G  0 part
 └─ol-root 252:0    0   16G  0 lvm  /
sdk           8:160  0   20G  0 disk
└─sdk1        8:161  0   20G  0 part
sr0          11:0    1 1024M  0 rom
[root@vm2 ~]#

我想了解這個新設備’/dev/sdk1’是否也可以添加掛載點’/u01’以便將其大小調整為12g(sdb)+ 20g(sdk1),這樣當我將重文件移動到/u01,我沒有收到空格錯誤。

到目前為止,我沒有看到任何描述相同的明確方法。大多數人都在談論擴展根分區(xfs),但對我來說,這個’/u01’不是安裝在根分區上,而是安裝在單獨的ext3上。

以下是一些可能有所幫助的輸出。

[root@vm2 ~]# df -Th
Filesystem          Type      Size  Used Avail Use% Mounted on
/dev/mapper/ol-root xfs        16G  3.5G   13G  22% /
devtmpfs            devtmpfs  2.4G     0  2.4G   0% /dev
tmpfs               tmpfs     2.4G   80K  2.4G   1% /dev/shm
tmpfs               tmpfs     2.4G  8.9M  2.4G   1% /run
tmpfs               tmpfs     2.4G     0  2.4G   0% /sys/fs/cgroup
/dev/sda1           xfs       497M  149M  349M  30% /boot
/dev/sdb            ext3       12G  7.5G  3.8G  67% /u01
/dev/sdc            ext3       30G  5.9G   23G  21% /u02
/dev/sdi            ext3      6.0G  141M  5.5G   3% /gghome
/dev/sdh            ext3      4.0G  137M  3.7G   4% /cntl2
/dev/sdd            ext3       30G  173M   28G   1% /u03
/dev/sde            ext3      4.0G  137M  3.7G   4% /redo1
/dev/sdg            ext3      4.0G  137M  3.7G   4% /cntl1
/dev/sdf            ext3      4.0G  137M  3.7G   4% /redo2

物理量顯示 (PVDISPLAY)

[root@vm2 ~]# pvdisplay /dev/sdk1
 --- Physical volume ---
 PV Name               /dev/sdk1
 VG Name               ol
 PV Size               20.00 GiB / not usable 3.00 MiB
 Allocatable           yes
 PE Size               4.00 MiB
 Total PE              5119
 Free PE               5119
 Allocated PE          0
 PV UUID               5tsaXp-bz1j-UwLS-lLRk-capI-i4rW-ps9Lk4

卷組顯示 (vgdisplay)

[root@vm2 ~]# vgdisplay
 --- Volume group ---
 VG Name               ol
 System ID
 Format                lvm2
 Metadata Areas        3
 Metadata Sequence No  7
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                2
 Open LV               2
 Max PV                0
 Cur PV                4
 Act PV                3
 VG Size               86.50 GiB
 PE Size               4.00 MiB
 Total PE              22143
 Alloc PE / Size       4225 / 16.50 GiB
 Free  PE / Size       17918 / 69.99 GiB
 VG UUID               Jfwpry-P7rO-NocS-DrVA-J3q2-tIOR-fkE41G

邏輯卷顯示 (lvdisplay)

[root@vm2 ~]# lvdisplay
 --- Logical volume ---
 LV Path                /dev/ol/swap
 LV Name                swap
 VG Name                ol
 LV UUID                3ZrLkL-JGYa-8EdA-oW7S-uCS2-dbmS-KdCI1h
 LV Write Access        read/write
 LV Creation host, time localhost, 2016-03-06 14:40:27 -0800
 LV Status              available
 # open                 2
 LV Size                512.00 MiB
 Current LE             128
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     8192
 Block device           252:1

 --- Logical volume ---
 LV Path                /dev/ol/root
 LV Name                root
 VG Name                ol
 LV UUID                WXQ5ne-UYgM-A53J-s1KE-ec72-Y52x-K5Qb1v
 LV Write Access        read/write
 LV Creation host, time localhost, 2016-03-06 14:40:27 -0800
 LV Status              available
 # open                 1
 LV Size                16.00 GiB
 Current LE             4097
 Segments               2
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     8192
 Block device           252:0

我已經嘗試過以下失敗並且沒有顯示添加到“/u01”的新設備,這不起作用

[root@vm2 ~]# umount /u01
[root@vm2 ~]# mount /dev/sdk1 /u01

這也是我的 fstab 文件。

[root@vm2 ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sun Mar  6 22:40:28 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/ol-root     /                       xfs     defaults        0 0
UUID=22363586-3aee-4128-aa86-4ff1ff7f30a2 /boot                   xfs     defaults        0 0
/dev/mapper/ol-swap     swap                    swap    defaults        0 0

/dev/sdb       /u01   auto    defaults,nofail        0       2
/dev/sdc       /u02   auto    defaults,nofail        0       2
/dev/sdd       /u03   auto    defaults,nofail        0       2
/dev/sde       /redo1   auto    defaults,nofail        0       2
/dev/sdf       /redo2   auto    defaults,nofail        0       2
/dev/sdg       /cntl1   auto    defaults,nofail        0       2
/dev/sdh       /cntl2   auto    defaults,nofail        0       2
/dev/sdi       /gghome   auto    defaults,nofail        0       2

最後是Linux版本

[root@vm2 ~]# uname -a
Linux vm2 3.8.13-55.1.6.el7uek.x86_64 #2 SMP Wed Feb 11 14:18:22 PST 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@vm2 ~]#

僅供參考:此伺服器/vm 無法連接到 Internet 以下載自定義 rpm 或 mhddfs 或 unionfs 等軟體包。因此僅限於傳統方法。

任何幫助表示讚賞。

謝謝 N23

不,您不能使用額外的塊設備來擴展 ext* 文件系統。它始終駐留在單個塊設備上。

因此,如果您可以擴展 /dev/sdb 的大小(例如,如果這是來自 RAID 卡的捲抽象,或者如果這是一個 VM),那麼這將起作用。重新啟動或 scsi 匯流排重新掃描都應該更新塊設備大小,之後您可以resize2fs /dev/sdb在解除安裝該卷時執行。

您可以將數據移動到 LVM 卷(通過基於文件的副本),無論如何我都建議這樣做。LVM 為您提供了更加動態的塊設備,並將向您的儲存添加對 ext3 完全透明的功能(例如線上擴展 EXT3 的塊設備並將單個塊設備跨越多個磁碟的能力 - 這個功能可以為您節省需要發表這篇文章)。

你可以像這樣創建一個新的捲組和一個 20 GiB 的邏輯卷:

wipefs -a /dev/sdk
vgcreate vg0 /dev/sdk
lvcreate -n lv0 -L 20G vg0

然後您可以在生成的塊設備上創建一個新的 ext3 文件系統,您可以將文件複製到該文件系統。

mkfs -t ext3 /dev/vg0/lv0

引用自:https://serverfault.com/questions/958620