В последнее время основным преимуществом, которое я получил от backup
commandsuit (backup, restore and backsnap ), является то, что они работают со снимками JFS2. Другие команды, такие как tar, cpio и некоторые другие, не могут, они просто завершаются какими-то странными или не -описательными ошибками, например, tar завершается пустой ошибкой :
$ cd /home/myjfshome/.snapshot/snapshot_1
$ tar -cvf /tmp/mytarfile myfile
tar:
Не гарантируется согласованность узлов устройств для дисков при перезагрузке. Они выделяются на основе -первого появления во время загрузки. Это может измениться из-за аппаратных изменений, изменений ядра, порядка загрузки модулей, незначительных изменений во времени и т. д.
Если вы хотите постоянно именовать узлы устройств, используйте символические ссылки в /dev/disk/*/
. Они всегда будут указывать на правильный узел устройства для одного и того же устройства, независимо от того, в каком порядке ядро нашло его.
Я предпочитаю использовать символические ссылки в /dev/disk/by-id/
, потому что они предоставляют тип устройства (, например. nvme или ata или usb ), марка устройства, модель и серийный номер. Я печатаю этикетки с серийными номерами для каждого диска, поэтому я могу легко найти один, если его нужно заменить, не рискуя запутаться с именами узлов устройств.
напр. некоторые из SATA SSD в одной из моих систем (из этих разделов используются для пула zfs rootfs):
# ls -lF /dev/disk/by-id/ata-Crucial* | grep -v part
lrwxrwxrwx 1 root root 9 May 9 20:06 /dev/disk/by-id/ata-Crucial_CT275MX300SSD1_163313AAxxx ->../../sdl
lrwxrwxrwx 1 root root 9 May 9 20:06 /dev/disk/by-id/ata-Crucial_CT275MX300SSD1_163313AAExxx ->../../sdq
lrwxrwxrwx 1 root root 9 May 9 20:06 /dev/disk/by-id/ata-Crucial_CT275MX300SSD1_163313AAFxxx ->../../sdo
lrwxrwxrwx 1 root root 9 May 9 20:06 /dev/disk/by-id/ata-Crucial_CT275MX300SSD1_163313AB0xxx ->../../sdp
# zpool status ganesh
pool: ganesh
state: ONLINE
scan: scrub repaired 0B in 00:22:42 with 0 errors on Sun May 9 00:46:44 2021
config:
NAME STATE READ WRITE CKSUM
ganesh ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ata-Crucial_CT275MX300SSD1_163313AADxxx-part5 ONLINE 0 0 0
ata-Crucial_CT275MX300SSD1_163313AAExxx-part5 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
ata-Crucial_CT275MX300SSD1_163313AAFxxx-part5 ONLINE 0 0 0
ata-Crucial_CT275MX300SSD1_163313AB0xxx-part5 ONLINE 0 0 0
errors: No known data errors
Эти символические ссылки будут на 100 % одинаковыми при каждой перезагрузке (, если вы, конечно, не удалите или не замените диск ). Всякий раз, когда данный диск находится в системе, будут создаваться точно такие же символические ссылки. И симлинки для каждого раздела на нем тоже.
Кстати, эти символические ссылки создаются по udev
правилам. В моей системе Debian /lib/udev/rules.d/60-persistent-storage.rules
. Вы можете написать свои собственные правила, если вам нужна собственная схема именования вместо или в дополнение к этим. Есть не так много причин, чтобы хотеть это сделать, но вы можете, если вам нужно.
Чтобы подчеркнуть пару моментов, сделанных @cas
Раньше на всех моих компьютерах был один или два диска SATA/IDE, на одном из которых стоял символ «/». Очевидно, что в этих условиях невозможно запустить задания до того, как будут выполнены надлежащие идентификации /dev/sdX.
Однако использование отдельного загрузочного диска, содержащего '/', особенно другого вида(nvme ), содержащего скрипты, программы и т. д., которого нет в схеме именования /dev/sdX, не будет быть ограниченным какими-либо временными ограничениями.
Использование /dev/disk/by-id/
, а также правильное имя аппаратного обеспечения (, включая серийный номер ), предотвращает проблемы, вызванные неправильной идентификацией. Жаль, что у дисков нет легкодоступных UUID (, хотя у разделов есть ).
Кстати, есть множество примеров (, особенно на youtube ), где рекомендуются некоторые очень опасные команды, такие как dd if=/dev/sdX...
. Может быть, к ним следует относиться с еще большей осторожностью?