如何擴展位於其他分區中間的分區(或創建新分區並遷移數據)
所以我需要在系統上擴展一個分區(/tmp),但不知道如何進行此操作(我最初沒有設置分區)。
以下命令顯示:
fdisk -l Disk /dev/sda: 4798.6 GB, 4798552211456 bytes, 9372172288 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 label type: gpt # Start End Size Type Name 1 2048 411647 200M EFI System EFI System Partition 2 411648 1435647 500M Microsoft basic 3 1435648 395407359 187.9G Microsoft basic 4 395407360 446607359 24.4G Microsoft basic 5 446607360 497807359 24.4G Microsoft basic 6 497807360 549007359 24.4G Microsoft basic 7 549007360 569487359 9.8G Microsoft basic 8 569487360 585871359 7.8G Linux swap 9 585871360 6585871360 2.8T Linux filesyste
我創建的各種分區是:
/dev/sda3 on / type xfs (rw,relatime,attr2,inode64,noquota) /dev/sda4 on /var type xfs (rw,relatime,attr2,inode64,noquota) /dev/sda9 on /home type ext4 (rw,relatime,data=ordered) /dev/sda7 on /tmp type xfs (rw,relatime,attr2,inode64,noquota) /dev/sda2 on /boot type xfs (rw,relatime,attr2,inode64,noquota) /dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro) /dev/sda5 on /var/log type xfs (rw,relatime,attr2,inode64,noquota) /dev/sda6 on /var/log/audit type xfs (rw,relatime,attr2,inode64,noquota)
我看到分配了以下大小:
Filesystem Size Used Avail Use% Mounted on /dev/sda3 188G 123G 66G 66% / /dev/sda4 25G 3.8G 21G 16% /var /dev/sda9 2.8T 224G 2.4T 9% /home /dev/sda7 9.8G 46M 9.8G 1% /tmp /dev/sda2 497M 161M 337M 33% /boot /dev/sda1 200M 9.8M 191M 5% /boot/efi /dev/sda5 25G 151M 25G 1% /var/log /dev/sda6 25G 71M 25G 1% /var/log/audit
據我所知,/dev/sda8 一定是從 XFS 到 EXT4 分區刪除和重新創建的。
我需要擴展/dev/sda7 以獲得更多空間,並且從快速統計來看,/dev/sda 大約是 5TB,而我們只為 /dev/sda1 使用了超過 3TB 的空間——> /dev/sda9。讓我相信我在 /dev/sda 上還剩下 1-2TB。我需要在不失去數據的情況下增加它,最好不要停機。
我“認為”我需要創建另一個分區 (/dev/sda10) 並為其分配所需的空間。從那裡我會執行“mkfs -t ext4 /dev/sda10”來為其分配一個文件系統。然後更新 /etc/fstab 以將 /dev/sda10 指向 /tmp(也許先掛載 /dev/sda10 並將所有 /tmp 複製過來?)。
我在正確的道路上嗎?謝謝
您的
mount
和df
輸出確認這/tmp
是一個安裝的文件系統駐留在/dev/sda7
.您的
fdisk
輸出顯示/dev/sda7
緊隨其後的是“Linux Swap”類型/dev/sda
的分區/dev/sda8
。這個分區很可能被用作交換分區。(您可以使用命令進行驗證swapon
。)如果您想/dev/sda7
原地增長,您必須先刪除/dev/sda8
。您的
fdisk
輸出還顯示磁碟的總大小為 9372172288 個扇區,但最後一個分區/dev/sda9
在扇區 6585871360 結束。因此在最後一個分區之後有 9372172288 - 6585871360 = 2786300928 個扇區或 1.3 TB 的未分區可用空間。這為您提供了兩種可能的途徑:
a) 將交換分區移動到未分區的空間,並將該
/tmp
分區擴展到以前被交換分區佔用的空間。您可以在不停機的情況下執行此操作,首先/dev/sda10
從扇區 6585871360 開始創建所需大小的新交換分區,使用 啟動它swapon /dev/sda10
,然後使用 停用舊的交換分區swapoff /dev/sda7
。在舊的交換分區耗儘後,您可以刪除分區 8 並將分區 7 擴展到該空間。這將為您提供/tmp
最多 585871360 - 549007360 = 36864000 個扇區或 17.6 GB 的分區。b) 將
/tmp
分區移動到未分區的空間。這將允許您將其擴展到 1.3 TB。但是,它需要(短)停機時間,因為您需要解除安裝目前/tmp
分區,這在系統執行時是不可能的。