Как перейти из одной файловой системы в другую, не меняя структуру каталогов?

Как перейти из одной файловой системы в другую, не меняя структуру каталогов?

/dev/xvda1заполнен, поэтому я хочу переместить его содержимое в мою udevфайловую систему объемом 30 ГБ.

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)

Отредактировано, как указали комментаторы, я не увидел, что это ваш / dir.
Если вы используете bash или zsh в качестве оболочки, добавьте:

--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 

В противном случае, если вы используете другую оболочку, вам следует сделать --excludeоператор для каждого отдельного каталога.

решение2

В большинстве случаев вы не будете перемещать файлы из одной файловой системы в другую. Если вы расширяете диск в виртуальной машине или захватываете больше места с того же диска, вы увеличите раздел, содержащий файловую систему, а затем увеличите файловую систему, чтобы заполнить раздел (какие команды использовать, зависит от типа раздела и типа файловой системы). Если вы перемещаетесь на новый диск, обычно быстрее и проще скопировать раздел целиком, а затем увеличить его, как указано выше.

В вашем случае, поскольку это виртуальная машина, вам сначала нужно будет дать ей диск большего размера. Как отметилМарк Плотник в комментарии, проверитьAWS-руководство; имеется веб-интерфейс для присоединения нового тома, а также веб-интерфейс для выполнения копирования (путем создания и восстановления моментального снимка).

Обратите внимание, что /devэто не файловая система хранения, это файловая система в ОЗУ. Ее 30 ГБ свободного места — это максимальный объем данных, которые можно там хранить, но это занимает часть вашей ОЗУ и теряется при перезагрузке. Еще раз,не перемещайте никакие файлы /dev, они будут удалены при перезагрузке.

Связанный контент