甚至可以糾正我的 LVM 錯誤嗎?
我在舊伺服器上安裝了這個 Proxmox (PVE),我想交換舊驅動器以獲得更多空間。但首先我想將 PVE 安裝移動到 SSD。很簡單。
初始點:
- 1x76GB SATA(PVE 根 LVM)
- 2x500GB SATA(VG1 配置為帶有 mdadm 的 RAID1 - LVM Thinpool)
最終目標:
- 1x120GB SSD(PVE 根 LVM)
- 2x500GB SATA(VG1 更長)
- 1x2000GB SATA*(在 VG1 中,以便將
pvmove
所有文件從舊 RAID 轉移到此驅動器)*此驅動器將在 mdraid 設置中配置另一個 2TB 驅動器,稍後將添加該驅動器(由於缺少電纜和 SATA 埠)。
我插入 SSD 並用 Linux 啟動了一個 live USB,執行我在網上找到的 dd 命令將舊的 76GB 驅動器複製到新的(但使用過的)120GB SSD。這很好,除了磁碟仍然顯示 76GB 大小。
所以要解決這個問題,我不完全確定我事後做了什麼。查看歷史我相信我執行了以下命令
echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan parted -l # At this point I got a few questions and I chose Fix and/or Ignore until it was finished pvresize /dev/sda3 lvresize /dev/pve/data -l 100%FREE
現在我認為我已經完成並開始處理列表中的下一個項目。這是我遇到深夜大腦Stu Pid的地方。
我用一個驅動器創建了 RAID
mdadm --create /dev/md2 --level 1 --raid-devices 2 /dev/sdd missing # Next, I forgot to RTFM.. mkfs.ext4 /dev/md2 # I actually aborted the above command Ctrl-C... # Uhhhh. I create the Physical Volume and extended the VG pvcreate /dev/md2 vgextend vg1 /dev/md2 # Next, I dunno lvextend /dev/vg1/tpool /dev/md2 resize2fs /dev/mapper/vg1-tpool # Again what? And now something from Youtube /usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf dpkg-reconfigure pve-kernel-`uname -r`
從那時起,出於某種原因,我又跑了
parted -l
一次。我所知道的是,我現在不知道自己在做什麼。resize2fs``vg1-tpool
總而言之,這就是我最終得到的結果(為簡潔起見,省略了一些資訊):
root@host:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 111.8G 0 disk ├─sda1 8:1 0 1007K 0 part ├─sda2 8:2 0 512M 0 part └─sda3 8:3 0 111.3G 0 part ├─pve-swap 253:0 0 8G 0 lvm [SWAP] ├─pve-root 253:1 0 18.5G 0 lvm / ├─pve-data_tmeta 253:2 0 1G 0 lvm │ └─pve-data-tpool 253:4 0 82.8G 0 lvm │ ├─pve-data 253:5 0 82.8G 0 lvm │ ├─pve-vm--102--disk--0 253:6 0 15G 0 lvm │ └─pve-vm--103--disk--0 253:7 0 4G 0 lvm └─pve-data_tdata 253:3 0 82.8G 0 lvm └─pve-data-tpool 253:4 0 82.8G 0 lvm ├─pve-data 253:5 0 82.8G 0 lvm ├─pve-vm--102--disk--0 253:6 0 15G 0 lvm └─pve-vm--103--disk--0 253:7 0 4G 0 lvm sdb 8:16 0 465.8G 0 disk └─sdb1 8:17 0 465.8G 0 part └─md1 9:1 0 465.7G 0 raid1 ├─vg1-tpool_tmeta 253:8 0 108M 0 lvm │ └─vg1-tpool-tpool 253:10 0 2.3T 0 lvm │ ├─vg1-tpool 253:11 0 2.3T 0 lvm │ ├─vg1-vm--100--disk--0 253:12 0 32G 0 lvm │ ├─vg1-vm--100--disk--1 253:13 0 350G 0 lvm │ └─vg1-vm--101--disk--0 253:14 0 32G 0 lvm └─vg1-tpool_tdata 253:9 0 2.3T 0 lvm └─vg1-tpool-tpool 253:10 0 2.3T 0 lvm ├─vg1-tpool 253:11 0 2.3T 0 lvm ├─vg1-vm--100--disk--0 253:12 0 32G 0 lvm ├─vg1-vm--100--disk--1 253:13 0 350G 0 lvm └─vg1-vm--101--disk--0 253:14 0 32G 0 lvm sdc 8:32 0 465.8G 0 disk └─sdc1 8:33 0 465.8G 0 part └─md1 9:1 0 465.7G 0 raid1 ├─vg1-tpool_tmeta 253:8 0 108M 0 lvm │ └─vg1-tpool-tpool 253:10 0 2.3T 0 lvm │ ├─vg1-tpool 253:11 0 2.3T 0 lvm │ ├─vg1-vm--100--disk--0 253:12 0 32G 0 lvm │ ├─vg1-vm--100--disk--1 253:13 0 350G 0 lvm │ └─vg1-vm--101--disk--0 253:14 0 32G 0 lvm └─vg1-tpool_tdata 253:9 0 2.3T 0 lvm └─vg1-tpool-tpool 253:10 0 2.3T 0 lvm ├─vg1-tpool 253:11 0 2.3T 0 lvm ├─vg1-vm--100--disk--0 253:12 0 32G 0 lvm ├─vg1-vm--100--disk--1 253:13 0 350G 0 lvm └─vg1-vm--101--disk--0 253:14 0 32G 0 lvm sdd 8:48 0 1.8T 0 disk └─md2 9:2 0 1.8T 0 raid1 └─vg1-tpool_tdata 253:9 0 2.3T 0 lvm └─vg1-tpool-tpool 253:10 0 2.3T 0 lvm ├─vg1-tpool 253:11 0 2.3T 0 lvm ├─vg1-vm--100--disk--0 253:12 0 32G 0 lvm ├─vg1-vm--100--disk--1 253:13 0 350G 0 lvm └─vg1-vm--101--disk--0 253:14 0 32G 0 lvm root@host:~# vgdisplay --- Volume group --- VG Name pve VG Access read/write VG Status resizable VG Size <111.29 GiB PE Size 4.00 MiB Total PE 28489 Alloc PE / Size 28489 / <111.29 GiB Free PE / Size 0 / 0 --- Volume group --- VG Name vg1 VG Access read/write VG Status resizable VG Size 2.27 TiB PE Size 4.00 MiB Total PE 596101 Alloc PE / Size 596101 / 2.27 TiB Free PE / Size 0 / 0 root@host:~# lvdisplay vg1 --- Logical volume --- LV Name tpool VG Name vg1 LV Write Access read/write LV Creation host, time host, 2020-09-11 00:05:40 +0200 LV Pool metadata tpool_tmeta LV Pool data tpool_tdata LV Status available # open 4 LV Size 2.27 TiB Allocated pool data 15.16% Allocated metadata 50.58% Current LE 596047 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:10
實際的錯誤是什麼,我該如何解決?似乎我已經以某種方式分配了每個 VG 上的所有範圍,所以現在我真的什麼都做不了!同樣,是否仍然可以:
- 拿回“自由空間”,不管這意味著什麼
- 修復 /dev/md2 以便我可以
pvmove
正確地從 /dev/md1
您想要一個名為vg1的 VG ,由兩個 RAID 組成。兩個小磁碟構成 /dev/md1,大磁碟構成 /dev/md2。從
lsblk
輸出和螢幕截圖來看,這就是你所擁有的。**好的!**儘管 LVM 的內置鏡像可能是更好的解決方案(更簡單,可能不太靈活)。現在,事情變得很奇怪。您在 /dev/md2 上創建了一個文件系統,然後通過將設備變成物理卷來丟棄它。您將 /dev/md2 添加到卷組(確定)並將tpool擴展到**vg1的整個大小。沒關係,但是如果您擴展邏輯卷以使用所有空間,您應該不會對所有空間都用完感到驚訝。
更奇怪的是,在擴展tpool之後,你執行
resize2fs /dev/mapper/vg1-tpool
它。這實際上應該導致錯誤,因為該卷上沒有文件系統。或者你可能遺漏了幾個步驟?為了在vg1中獲得可用空間,我只需將該卷的大小減小到以前的大小。通常,這應該可以工作,希望任何可能使用tpool的精簡卷都沒有看到太多活動。
最後,我絕對不會將隨機教程和 Youtube 影片用於我不理解且有可能摧毀我的伺服器的任務。在重試之前,請閱讀對 LVM、精簡捲和文件系統的全面介紹。