Я работаю на поставщика медицинских приборов. У нас на одной машине есть несколько разделов SquashFS (для файлов ОС, два раздела ОС, squashfs только для чтения), несколько загрузочных разделов (3x FAT32) и раздел DATA (120Gb, rw, ext4).
Дело в том, что, поскольку это устройство используется в больницах, иногда они отключают его, и в некоторых случаях мы получаем случайные проблемы, которые, по-видимому, связаны с повреждением данных в разделе DATA. Дело в том, что медицинское программное обеспечение регистрирует много всего, поэтому я предполагаю, что иногда происходит запись, и, возможно, машина жестко выключается, и это, как будто, повреждает соседние файлы.
В любом случае, я подумал, что, возможно, изменение ext4 на разделе данных на копируемую при записи файловую систему, например ZFS, может помочь. Однако есть один момент... требует ли ZFS, чтобы весь диск был ZFS (что-то типа zpool), или мы можем иметь раздел ZFS на одном диске с другими разделами с другой файловой системой.
Спасибо!
решение1
Вам не обязательно форматировать весь диск как ZFS. Zpool может быть создан из любой комбинации целых дисков и разделов.
Если вы используете раздел ZFS совместно с другими разделами на том же диске, следует помнить, что производительность ввода-вывода (I/O) также является общей.
В простейшей конфигурации вы можете иметь zpool, состоящий из одного vdev, который является просто разделом или устройством. У меня есть компьютер, отформатированный так:
root@craptop [~]# zpool status -P
pool: rpool
state: ONLINE
scan: scrub repaired 0B in 00:00:30 with 0 errors on Sun Nov 14 00:24:31 2021
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
/dev/disk/by-id/ata-LITEONIT_LSS-24L6G_S45N8470Z1ZNDW089292-part4 ONLINE 0 0 0
errors: No known data errors
Член ZFS — это раздел в /dev/sda
:
root@craptop [~]# blkid /dev/sda4
/dev/sda4: LABEL="rpool" UUID="3735190874680832032" UUID_SUB="15024274719792138025" TYPE="zfs_member" PARTUUID="a9a5ae01-90cd-4945-a9dd-fbccbfbfc075"
root@craptop [~]# lsblk -p
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
/dev/sda 8:0 0 22.4G 0 disk
├─/dev/sda1 8:1 0 1000K 0 part
├─/dev/sda2 8:2 0 512M 0 part /boot/efi
├─/dev/sda3 8:3 0 1G 0 part /boot
└─/dev/sda4 8:4 0 20.9G 0 part
/dev/sdb 8:16 0 931.5G 0 disk
├─/dev/sdb1 8:17 0 1000M 0 part
├─/dev/sdb2 8:18 0 260M 0 part
├─/dev/sdb3 8:19 0 1000M 0 part
├─/dev/sdb4 8:20 0 128M 0 part
├─/dev/sdb5 8:21 0 884G 0 part
├─/dev/sdb6 8:22 0 25.2G 0 part
└─/dev/sdb7 8:23 0 20G 0 part
/dev/sdc 8:32 1 58.6G 0 disk
└─/dev/sdc1 8:33 1 58G 0 part
Без избыточного или четного vdev (зеркала, raidz, raidz2, draid и т. д.) ZFS может обнаружить скрытое повреждение данных, но не может исправить его, поскольку единственная копия данных является плохой.
Вам следует рассмотреть возможность создания zpool с одним или несколькими избыточными vdev.
Вот еще один из моих компьютеров сRAID-массив 1эквивалентные vdev, известные как зеркала:
root@box1 [~]# zpool status -P
pool: fastpool
state: ONLINE
scan: scrub repaired 0B in 00:04:39 with 0 errors on Sun Nov 14 00:28:40 2021
config:
NAME STATE READ WRITE CKSUM
fastpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
/dev/nvme0n1p3 ONLINE 0 0 0
/dev/nvme1n1p3 ONLINE 0 0 0
errors: No known data errors
pool: slowpool
state: ONLINE
scan: scrub repaired 0B in 05:45:50 with 0 errors on Sun Nov 14 06:09:52 2021
config:
NAME STATE READ WRITE CKSUM
slowpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
/dev/sda1 ONLINE 0 0 0
/dev/sdb1 ONLINE 0 0 0
logs
/dev/nvme0n1p5 ONLINE 0 0 0
/dev/nvme1n1p5 ONLINE 0 0 0
cache
/dev/nvme0n1p4 ONLINE 0 0 0
/dev/nvme1n1p4 ONLINE 0 0 0
errors: No known data errors
Начиная
- Настройте пул хранения ZFSАден Падилла
man 7 zpoolconcepts