[РЕШЕНО]dd и изменение размера раздела
С учетом ограниченной возможности для экспериментов, как тыщами километров дистанций, так и ассортиментов наличных дисков, хотелось бы авторитетной подсказки по проблеме - создать образ от hdb и корректно уменьшить размер именно уже в образе? разбивка всегда такая: раздел 1=20гб (условно), раздел 2=20гб, остальное - неразмеченное пространство, которого из-за отсутствия малых форм и размеров от 210гб и более.
В итоге пошел таким путем -
0. подготовка - со второго раздела, где хомовник, содержимое перенес на первый, в fstab строку хомовника закоментил, второй раздел удалил, соотв. отсалься один, загрузочный. Создал эталонный образ.
1. клонирую нужным способом этот образ (в процессе добился его облегчения в разы) - напрямую ли, через ssh, со сжатием или без
2. после конирования штатная проверка раздела e2fsck -f /dev/sd...
3. затем fdisk /dev/sd... и на свободном месте создаю новый раздел, форматирую его в нужную фс, правлю fstab и прописываю хомовник по новому разделу (фактически раскомментирую).
но в в "здравый смысл въезжать иногода нуна" ... 16 мег для bs курто же более чем! ... вопрос...
Удалённый доступ к утилите меня вообще смуитл... К чему это?.. Но видимо Т.С. виднее...
● i3-3210 / 10GB / VGA Intel HD 2500 / SSD 240GB / Arch Linux / Openbox / Ungoogled-Chromium
● t.me/arch_linuxru
Инструмент dd через ssh прекрасно работает, "стендовые испытания" проведены, отлажено. Другое дело, что учетом размера проброс даже 80гб, из которых полезных лишь 9 (и даже сжатый образ диска весит 20гб), это вес и время бесперебойной связи, что в целях учета потенциально разных по размерам sda and sdb второй раздел урезал до 1гб. и встает вопрос о пуленепробиваемом варианте изменения второго раздела до максимальной емкости диска без физического доступа с моей стороны и ограниченных компетенциях на "той" стороне при отсутствии голосовой связи.
Решение должно быть условно коробочное - взял диск + подключил проводами к работающему компу с удаленным доступом - подождал - выключил по команде - вынул - вставил в другой - включил = работать.
В опасениях перебдеть или недобдеть вроде запускаешь e2fsck -f и проходит без ошибок. Но мы-то знаем, что из-за разных рамзеров операция однозначно проходит не в полной мере корректно и сейчас это выражается в некорректности указания общего размера диска. Тот же fdisk красными буковками пишет про некорректность указания неразмеченного пространства. Чем чревато - пока не понял. Как лечить "в одно касание" - тоже. Уже пару раз суперблоки повреждал. Каждая итерация занимает около часа. Отрабатываю упражнениями.
dd bs=16M if=/home/hetz/linuxcnc.img | ssh root@cnc "dd bs=16M of=/dev/sdc"
dd: ошибка записи '/dev/sdc': На устройстве не осталось свободного места
0+494506 записей получено
0+494505 записей отправлено
16231956480 байт (16 GB, 15 GiB) скопирован, 11592,3 s, 1,4 MB/s
Касательно козликов - запускаем mtr до шлюза, потеря пакетов 0. Запускаем браузер и тыркаем хотябы гугломыло через ssh - почти моментально начинаются потери пакетов до 45% и продолжается даже после прекращения такого трафика. Проверено на нескольких в разных странах находящихся шлюзах. Аналогично с тлг и ВАпом - бульканье, отдельные слова.
в случае локальном -
gzip -dc linuxcnc.img.gz| dd of=/dev/sdc bs=4M status=progress
не описано в документации, но по аналогии удаленно через ssh рисуется так -
gzip -dc linuxcnc.img.gz | ssh root@cnc "dd of=/dev/sdс bs=4M status=progress"
есть подозрение, что это (предварительная упаковка) бессмысленно, потому как в ssh я передаю уже распакованный поток. Как бы исхитриться передать упакованный?
Спасибо за правку команды, работает. Но полезного результата это не дало -ALiEN: dd if=linuxcnc.img.gz | ssh root@cnc "gzip -dc | dd of=/dev/sdс bs=4M status=progress"
77667696640 bytes (78 GB, 72 GiB) copied, 4687 s, 16.6 MB/s30857016+1 records in
30857016+1 records out
15798792479 bytes (16 GB, 15 GiB) copied, 4688.8 s, 3.4 MB/s
80025616384 bytes (80 GB, 75 GiB) copied, 4708 s, 17.0 MB/s
0+2423813 records in
0+2423813 records out
80026361856 bytes (80 GB, 75 GiB) copied, 4719.74 s, 17.0 MB/s
gzip однопоточный. Смотрите в сторону zstd, xz или lz4
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE
https://archlinux.com.ru/forum/viewtopi ... 9679#p9679lnx:И вопрос корректного и безопасного дорасширения
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE
ну а что там его решать, если у вас стандартная файловая система ext4 то всё довольно простоlnx: вопрос корректного и безопасного дорасширения последнего раздела до максимально возможного размера нового диска пока остался не решенным
!! Ограничение: принимающий диск всегда должен быть равен или большего размера чем отдающий
Если принимающий диск больше то после клонирования нужно
1-е изменить таблицу разделов вписав новые размеры
2-е изменить размер файловой системы
Таблицу разделов можно изменить, например, с помощью утилиты sfdisk
допустим у нас есть диск sdc с двумя разделами(sdс1,sdс2), где после второго раздела идёт свободное место до конца диска
echo ", +" | sudo sfdisk -N 2 /dev/sdc
проверка на возможные ошибки
sfdisk -V /dev/sdс
для этого существует простая команда
sudo resize2fs /dev/sdс2
ну и делаем проверки до и после
e2fsck -f /dev/sdс2
lnx:Сжатый весит 20гб, несжатый весит 80гб
такими темпами вы скоро переплюнете объёмы порнотрафика в принимаемой стране ))lnx: Другое дело, что учетом размера проброс даже 80гб, из которых полезных лишь 9 (и даже сжатый образ диска весит 20гб)
проще взять выжимку из файловой системы(сколько там 9 гиг?) -> сжать -> передать, подготовить диск, распаковать на диск, подправить загрузчик и fstab, профит.
ну и конечно же делать это не руками а подготовить скрипт
проблему передачи больших объёмов и преодоления разных преград можно решить с помощью того же торрента, пусть качает.
Скачал, закинул на флешку, туда же скрипт, загрузился, запустил скрипт, пошел пить чай.
ssh user@host "tar -C /mnt -c . | lz4 -c" | lz4 -cd | sqfstar backup.sqashfs
Огромный плюс squashfs в том, что образ можно подмонтировать без дополнительных телодвижений - не требует распаковки образа, как в случае с пожатым разделом, сделанным dd.
Дык вы ВСЮ ФС сжимаете, а не только файлы на ней. Естественно, будет оверхед.lnx:полезных лишь 9 (и даже сжатый образ диска весит 20гб),
Cкрытый текст
$: du -h backup.sqashfs
2,0G backup.sqashfs
$: ssh host df -h | grep /mnt
/dev/vda2 8.0G 3.7G 4.3G 46% /mnt
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE
Существует множество способов резервного копирования или клонирования разделов диска для обеспечения сохранности данных или их переноса на новое устройство хранения. Одним из нетрадиционных, но эффективных методов является использование команды cat. Обычно для клонирования дисковых накопителей применяется инструмент dd, но в случаях, когда эту операцию нужно провести быстро, утилита cat является отличным выбором.
Синтаксис команды cat для клонирования раздела имеет следующий вид:
cat /dev/source_partition > /dev/destination_partition
/dev/source_partition — исходный раздел диска
/dev/destination_partition — раздел диска, куда будут скопированы данные с исходного раздела
Ошибки не исчезают с опытом - они просто умнеют
Лихо. А вариации из ранее сделанного iso или iso.gz, да еще и через ssh? вида -vasek:cat .... цитата
cat /dev/sda | ssh u@s "> /dev/destination_partition"
cat d.iso > ...
ибо dd довольно долго -
80026361856 bytes (80 GB, 75 GiB) copied, 56064.6 s, 1.4 MB/s
Да что вы так вцепились в этот dd? Он вообще вам не нужен.lnx:dd довольно долго -
Cкрытый текст
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE
Кому то нравится rsync:
Вы можете скопировать все файлы с сервера A на сервер B, сохранив их права и пользователей: rsync — пожалуй, лучший инструмент для этого.
Ошибки не исчезают с опытом - они просто умнеют
И еще реже. Даже cat не нуженvasek: Очень, очень редкий способ клонирования разделов диска - cat .... цитата
command < file
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE
Алиса ... MC + SSHvasek:Мне больше нравится mc (Midnight Commander) - все видно
Инструкция
Чтобы подключиться к серверу по SSH через MC, нужно:
1. Запустить MC на удалённом сервере.
2. Нажать F9, выбрать «Правая панель — Shell-соединение».
3. В появившемся окне ввести логин@ваш_ip:порт_ssh (например, user@123.123.123.123:22).
4. Подтвердить желание подключиться и ввести пароль пользователя.
После подключения в MC слева будет файловая система сервера, а справа — файловая система локального ПК.
Ошибки
По умолчанию подключение через MC невозможно, если авторизация к серверу настроена через публичный ssh-ключ с указанием его нестандартного расположения через параметр -i
Решение: использовать для подключения отдельный конфигурационный файл в стандартном каталоге расположения ssh-ключей в профиле пользователя. По умолчанию этого файла нет, его нужно создать: mcedit ~/.ssh/config
В файл записать расположение личного ssh-ключа, username на сервере (login) и hostname (адрес сервера), порт, если нужно, и алиас этого подключения.
Важно: если нужно сразу после логина перейти в какой-то каталог, можно сделать alias для подключения в .bashrc или при подключении полностью указать каталог, куда надо зайти.
PS - google 1 .... 2
Ошибки не исчезают с опытом - они просто умнеют