# Перенос Nextcloud с SSD на HDD (освобождение SSD 1.9 TB) ## Цель Перенести все данные Nextcloud (БД, приложение, файлы пользователей, ~73 GB) с SSD (sdb 1.9 TB) на HDD (sdd 6.8 TB) и отмонтировать SSD для использования в других проектах. ## Текущая схема - **mp0:** `/mnt/ssd-storage/nextcloud-101` → `/mnt/nextcloud-data` (SSD, ~73 GB) - **mp1:** `/mnt/nextcloud-hdd` → `/mnt/nextcloud-extra` (HDD, игры в корне) После переноса: - **mp0:** `/mnt/nextcloud-hdd/nextcloud-101` → `/mnt/nextcloud-data` (на HDD) - **mp1:** `/mnt/nextcloud-hdd` → `/mnt/nextcloud-extra` (как сейчас) - Внешнее хранилище «Игры» будет указывать на `/mnt/nextcloud-extra/games` (подпапка), чтобы в списке не было каталога `nextcloud-101`. ## Шаги ### 1. Остановить Nextcloud и контейнер На хосте: ```bash ssh root@192.168.1.150 pct exec 101 -- bash -c 'cd /opt/nextcloud && docker compose down' pct stop 101 ``` ### 2. На хосте: подготовить структуру на HDD Создать папку `games` и перенести в неё все текущие папки из корня HDD (игры + common): ```bash # На хосте 192.168.1.150 mkdir -p /mnt/nextcloud-hdd/games cd /mnt/nextcloud-hdd for d in */ ; do [ "$d" = "games/" ] && continue mv "$d" games/ done ``` Проверка: в корне HDD остаются только `games/`, в нём — все 154 папки. ### 3. Копировать nextcloud-101 с SSD на HDD ```bash rsync -av --progress /mnt/ssd-storage/nextcloud-101/ /mnt/nextcloud-hdd/nextcloud-101/ ``` Проверить объём: `du -sh /mnt/nextcloud-hdd/nextcloud-101` (~73 GB). ### 4. Изменить конфиг контейнера 101 ```bash # Заменить mp0 в /etc/pve/lxc/101.conf # Было: mp0: /mnt/ssd-storage/nextcloud-101,mp=/mnt/nextcloud-data # Стало: mp0: /mnt/nextcloud-hdd/nextcloud-101,mp=/mnt/nextcloud-data sed -i 's|mp0: /mnt/ssd-storage/nextcloud-101,mp=/mnt/nextcloud-data|mp0: /mnt/nextcloud-hdd/nextcloud-101,mp=/mnt/nextcloud-data|' /etc/pve/lxc/101.conf ``` ### 5. Запустить контейнер и Nextcloud ```bash pct start 101 # Подождать загрузки, затем: pct exec 101 -- bash -c 'cd /opt/nextcloud && docker compose up -d' ``` ### 6. Обновить путь внешнего хранилища «Игры» Сейчас хранилище указывает на `/mnt/nextcloud-extra`. Нужно изменить на `/mnt/nextcloud-extra/games`, чтобы в «Игры» отображались только игры, без папки `nextcloud-101`: ```bash pct exec 101 -- docker exec nextcloud-nextcloud-1 php occ files_external:config 1 datadir /mnt/nextcloud-extra/games pct exec 101 -- docker exec nextcloud-nextcloud-1 php occ files_external:scan 1 ``` ### 7. Проверить работу - Открыть Nextcloud в браузере, зайти в «Игры» — должны быть все папки игр. - Проверить «Мои файлы» и приложение. ### 8. Отмонтировать SSD и убрать из fstab Когда всё проверено и SSD больше не нужен: ```bash umount /mnt/ssd-storage # Удалить или закомментировать строку с /mnt/ssd-storage в /etc/fstab sed -i.bak '/\/mnt\/ssd-storage/d' /etc/fstab ``` После этого SSD можно физически отключить или использовать под другие разделы. --- ## Сократить SSD до 200 GB (альтернатива) Если SSD нужно оставить в сервере, но выделить под Nextcloud только 200 GB, а остальное под другие проекты: - Текущее использование на SSD ~73 GB — в 200 GB поместится. - Нужно: уменьшить раздел sdb1 и файловую систему до 200 GB (опасно, только с резервной копией), затем создать второй раздел на свободном месте. Либо сделать полный бэкап, переразбить диск (например, sdb1=200G, sdb2=остальное), отформатировать, восстановить данные. Это сложнее и рискованнее, чем перенос на HDD. Рекомендация: перенос на HDD проще и освобождает весь SSD.