- https://habr.com/en/post/214187/
- AACRAID Driver for Linux (take two) — The Linux Kernel documentation
To identify a disk which you need to replace you need to get a channel number and a device number:
arcconf GETCONFIG 1
... Reported Channel,Device(T:L) : 0,1(1:0) Reported Location : Connector 0, Device 1 ...
Next you need to identify it with a command:
arcconf IDENTIFY 1 DEVICE 0 1
because of
arcconf IDENTIFY 1 DEVICE <channel> <device>
Описание: RAID - основные понятия и советы: RAID 5EE
Обычно при построении RAID 5 один диск оставляют свободным ( Hotspare ), чтобы в случае сбоя система сразу стала перестраивать (rebuild) массив. При обычной работе этот диск работает вхолостую. Система RAID 5EE подразумевает использование этого диска в качестве элемента массива. А объём этого свободного диска распределяется по всему массиву. Минимальное число дисков – 4 штуки. Доступный объём равен n-2, объём одного диска используется (будучи распределенным между всеми) для четности, объем еще одного – свободный. При выходе из строя диска происходит сжатие массива до 3-х дисков (на примере минимального числа) заполнением свободного пространства. Получается обычный массив RAID 5, устойчивый к отказу ещё одного диска. При подключении нового диска, массив разжимается и занимает вновь все диски.
Как только контроллер увидит hotspare диск, он тут же начнет “разворачивать” на него 5EE-массив.
arcconf setstate 1 device 0 1 hsp logicaldrive 0 arcconf RESCAN 1
root@kvm12:~# arcconf getstatus 1 Controllers Found: 1 Logical Device Task: Logical Device : 0 Task ID : 102 Current operation : Expanding Status : In Progress Priority : High Percentage complete : 26
После окончания expanding
:
Status of Logical Device : Optimal Status of RAID 5EE : Expanded
[nix-shell:~]# LD_LIBRARY_PATH='/nix/store/d97kkhkxwj9lxjl4ba81jlzplyzlzjb8-gcc-8.3.0-lib/lib' gdb /nix/store/883blaa1cn68ddy7398ga3dn0hl7l97s-arcconf-v2_00_21811/bin/arcconf.orig arcconf.coredump GNU gdb (GDB) 9.2 Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-unknown-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /nix/store/883blaa1cn68ddy7398ga3dn0hl7l97s-arcconf-v2_00_21811/bin/arcconf.orig... (No debugging symbols found in /nix/store/883blaa1cn68ddy7398ga3dn0hl7l97s-arcconf-v2_00_21811/bin/arcconf.orig) [New LWP 10779] [New LWP 10914] [Thread debugging using libthread_db enabled] Using host libthread_db library "/nix/store/kksyrix1bpklvgkmvngcv0q9nh8hn2fl-glibc-2.27/lib/libthread_db.so.1". Core was generated by `/nix/store/883blaa1cn68ddy7398ga3dn0hl7l97s-arcconf-v2_00_21811/bin/arcconf.ori'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x000000000062ab5d in ArcAdapter::buildChildren(Ret&) () [Current thread is 1 (Thread 0x7f583ced2740 (LWP 10779))] /nix/store/d97kkhkxwj9lxjl4ba81jlzplyzlzjb8-gcc-8.3.0-lib/lib/../share/gcc-8.3.0/python/libstdcxx/v6/xmethods.py:731: SyntaxWarning: list indices must be integers or slices, not str; perhaps you missed a comma? refcounts = ['_M_refcount']['_M_pi'] (gdb) where #0 0x000000000062ab5d in ArcAdapter::buildChildren(Ret&) () #1 0x00000000006dfd5c in ArcSystem::buildChildrenForSingleAdapter(StorLib*, unsigned long, Ret&) () #2 0x0000000000558dab in StorLib::getSystemConfigForSingleAdapter(unsigned long) () #3 0x00000000004d8d02 in main () (gdb) bt full #0 0x000000000062ab5d in ArcAdapter::buildChildren(Ret&) () No symbol table info available. #1 0x00000000006dfd5c in ArcSystem::buildChildrenForSingleAdapter(StorLib*, unsigned long, Ret&) () No symbol table info available. #2 0x0000000000558dab in StorLib::getSystemConfigForSingleAdapter(unsigned long) () No symbol table info available. #3 0x00000000004d8d02 in main () No symbol table info available.
[root@web32:~]# nix-shell -p glibc.bin [nix-shell:~]# LD_LIBRARY_PATH='/nix/store/d97kkhkxwj9lxjl4ba81jlzplyzlzjb8-gcc-8.3.0-lib/lib' catchsegv /nix/store/883blaa1cn68ddy7398ga3dn0hl7l97s-arcconf-v2_00_21811/bin/arcconf.orig