split
соответствует разделению полей по умолчанию, используяFS
(или специальное регулярное выражение, если оно указано ):оно использует регулярное выражение для сопоставления разделителей полей . Если вы укажете FS=,
, то поля будут разделены разделяющими запятыми — сами запятые не окажутся в содержимом поля, они окажутся в массиве разделителей (, если указано ).
patsplit
соответствует разделению шаблона поля, которое можно использовать вместо разделения поля по умолчанию, указав значение дляFPAT
:он использует регулярное выражение для соответствия содержимому поля . Например, если вас интересуют только числа, указанные в какой-либо записи, вы можете указать FPAT="[[:digit:].]+"
или использовать patsplit
с этим регулярным выражением, чтобы сопоставить все непрерывные наборы цифр и манипулировать ими как полями.
Я не смог найти решение с уже созданной конфигурацией RAID 1, поэтому сделайте резервную копию ваших данных, потому что для этого решения, которое я дам, вам нужно сначала удалить ваш RAID 1. На самом деле я просто удалил виртуальную машину, с которой работал, и создал новую.
Это будет работать с Debian 10 и с чистой машиной
В моем случае у меня 3 виртуальных диска, поэтому я запускаю команду так (помните, что сначала нужно сделать разделы одинакового размера и типа Linux raid autodetect)
sudo mdadm --create /dev/md1 --level=mirror --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
Перейдите к файлу /etc/mdadm/mdadm.conf
, удалите все содержимое и замените его этим:
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#
DEVICE partitions
# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes
# automatically tag new arrays as belonging to the local system
HOMEHOST <system>
# instruct the monitoring daemon where to send mail alerts
MAILADDR root
# definitions of existing MD arrays
Войдите в систему как пользователь root и сделайте следующее
sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Теперь содержимое этого файла
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#
DEVICE partitions
# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes
# automatically tag new arrays as belonging to the local system
HOMEHOST <system>
# instruct the monitoring daemon where to send mail alerts
MAILADDR root
# definitions of existing MD arrays
ARRAY /dev/md1 metadata=1.2 name=buster:1 UUID=1279dbd2:d0acbb4f:0b34e3e1:3de1b3af
ARRAY /dev/md1 metadata=1.2 name=buster:1 UUID=1279dbd2:d0acbb4f:0b34e3e1:3de1b3af (this was the new line added referencing the array)
Если команда добавила что-то перед строкой ARRAY, удалите это.
Выполнитьsudo update-initramfs -u
Монтировать его необязательно, но я думаю, что вы захотите использовать хранилище вашего RAID1.
sudo blkid
/etc/fstab
этой новой строкой кода UUID=d367f4ed-2b37-4967-971a-13d9129fff4f /home/vagrant/raid1 ext3 defaults 0 2
Замените UUID на тот, который вы получили для своего раздела, а файловую систему на ту, которая у вас есть в вашем разделе Содержимое моего /etc/fstab
сейчас
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/vda1 during installation
UUID=b9ffc3d1-86b2-4a2c-a8be-f2b2f4aa4cb5 / ext4 errors=remount-ro 0 1
# swap was on /dev/vda5 during installation
UUID=f8f6d279-1b63-4310-a668-cb468c9091d8 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
UUID=d367f4ed-2b37-4967-971a-13d9129fff4f /home/vagrant/raid1 ext3 defaults 0 2
UUID=d367f4ed-2b37-4967-971a-13d9129fff4f /home/vagrant/raid1 ext3 defaults 0 2 (here you can see clearly the line I added)
Имя теперь менять не собираются.
Если я запущу sudo fdisk -l
, я получу это (, я покажу только соответствующую информацию)
Disk /dev/md1: 1022 MiB, 1071644672 bytes, 2093056 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x37b2765e
Device Boot Start End Sectors Size Id Type
/dev/md1p1 2048 2093055 2091008 1021M 83 Linux
Если я побегу, df -Th
я получу
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 227M 0 227M 0% /dev
tmpfs tmpfs 49M 3.4M 46M 7% /run
/dev/sda1 ext4 19G 4.1G 14G 24% /
tmpfs tmpfs 242M 0 242M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 242M 0 242M 0% /sys/fs/cgroup
/dev/md1p1 ext3 989M 1.3M 937M 1% /home/vagrant/raid1
tmpfs tmpfs 49M 0 49M 0% /run/user/1000
Вы видите, что тоже установлен. И, наконец, если я запущу cat /proc/mdstat
, я получу
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sdd1[2] sdc1[1] sdb1[0]
1046528 blocks super 1.2 [3/3] [UUU]
unused devices: <none>
RAID1 работает с sdb1, sdc1 и sdd1.
Теперь это ЗАВЕРШЕНО! Вы можете перезагрузиться, и ваше имя рейда всегда останется.
https://superuser.com/questions/287462/how-can-i-make-mdadm-auto-assemble-raid-after-each-boot
https://ubuntuforums.org/showthread.php?t=2265120
https://askubuntu.com/questions/63980/how-do-i-rename-an-mdadm-raid-array
https://serverfault.com/questions/267480/how-do-i-rename-an-mdadm-raid-array
https://bugzilla.redhat.com/show_bug.cgi?id=606481
Некоторые из них более важны для этого решения, чем другие, но ВСЕ ОНИ помогли мне найти это решение.
Вау, ты много читал, не так ли? Теперь вы можете расслабиться, если ваша проблема была решена, надеюсь, это помогло вам! Увидимся!