/dev/xvda1
已滿,所以我想將其內容移至我的 30GBudev
檔案系統上。
Filesystem Size Used Avail Use% Mounted on
udev 30G 4.0K 30G 1% /dev
tmpfs 5.9G 768K 5.9G 1% /run
/dev/xvda1 7.8G 7.4G 0 100% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 30G 0 30G 0% /run/shm
none 100M 0 100M 0% /run/user
我怎樣才能做到這一點?
堆疊:EC2 Ubuntu 機器。
答案1
不要使用cp複製大量資料。
也使用rsync,因為如果中斷可以重新啟動。使用以下內容:
rsync -az -H /path/to/source /path/to/destination
-a : Archive mode (i.e. recurse into directories, and preserve symlinks, file permissions, file modification times, file group, file owner, device files & special files) <br>
-z : Compress file data during the transfer <br>
-H : Preserve hard links (i.e. copy hard links as hard links)
正如評論者指出的那樣進行編輯,我沒有看到這是您的 / 目錄。
如果使用 bash 或 zsh 作為 shell,請新增:
--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"}
現在變成了
rsync -az -H --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /path/to/source /path/to/destination
否則,如果使用不同的 shell,您應該--exclude
為每個不同的目錄執行一個聲明。
答案2
在大多數情況下,您不會將檔案從一個檔案系統移至另一個檔案系統。如果您要擴大虛擬機器中的磁碟或從同一磁碟取得更多空間,則需要擴大包含檔案系統的分割區,然後擴大檔案系統以填入分割區(使用哪些指令取決於分割區類型和檔案系統類型) )。如果您要移動到新磁碟,通常更快更容易複製整個分割區,然後按上述方法放大它。
就您而言,由於這是虛擬機,因此您需要先為其提供更大的磁碟。正如所指出的馬克普洛特尼克在評論中, 檢查AWS 指南;有一個用於附加新磁碟區的 Web 介面,還有一個用於執行複製(透過建立和還原快照)的 Web 介面。
請注意,這/dev
不是儲存檔案系統,而是 RAM 中的檔案系統。它的 30GB 可用空間是可以儲存的最大資料量,但這會佔用 RAM 中的一大塊,並且在重新啟動時會遺失。再次,不要將任何檔案移動到/dev
,它們將在您重新啟動時被刪除。