Удалить диск из мягкого RAID

Я наконец-то разобрался! Сначала прошейте iptables как раньше:

iptables -F
iptables -t net -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

Настройте политики фильтрации

iptables -P OUTPUT ACCEPT
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP

Затем настройте маскарадинг

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Затем настройте фильтр для предотвращения маршрутизации на ваш частный интерфейс. Это не позволит публичным узлам использовать маршрутизатор в качестве шлюза. Без этого я могу пинговать частный интерфейс маршрутизатора с публичного.

iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -j DROP

Наконец, настройте переадресацию

iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
10
22.12.2016, 02:31
2 ответа

У вас есть трехстороннее зеркало: на каждом диске есть полная копия всех данных. Предполагая, что диск, который вы хотите удалить, - это / dev / sdc , и вы хотите удалить его из всех трех массивов, вы должны выполнить следующие шаги для / dev / sdc1 , / dev / sdc2 и / dev / sdc4 .

Шаг 1. Удалите диск из массива. Вы не можете удалить активное устройство из массива, поэтому вам нужно сначала пометить его как неисправное.

mdadm /dev/md1 --fail /dev/sdc1
mdadm /dev/md1 --remove /dev/sdc1

Шаг 2: Удалите метаданные RAID, чтобы ядро ​​не пыталось добавить их повторно:

wipefs -a /dev/sdc1

Шаг 3: Уменьшите массив так, чтобы это было только двустороннее зеркало, а не трехстороннее зеркало с отсутствующим диск:

mdadm --grow /dev/md1 --raid-devices=2

Вам может потребоваться удалить растровое изображение с намерением записи из / dev / md4 перед его сжатием (в руководстве это не ясно), и в этом случае вы должны сделать это непосредственно перед шаг 3 с помощью mdadm --grow / dev / md4 --bitmap = none , затем верните его обратно с помощью mdadm --grow / dev / md4 --bitmap = internal .

34
27.01.2020, 20:00

man mdadm:

  -r, --remove 
удалить перечисленные устройства. Они не должны быть активными. т.е. они 
должны быть неисправными или запасными. 
 
Помимо имени файла устройства (например, / dev / sda1) слова 
failed, detached и такие имена, как set-A, можно присвоить параметру --remove. 
Первый вызывает удаление всех неисправных устройств. Второй 
вызывает удаление любого устройства, которое больше не подключено к системе 
 (т. Е. «Open» возвращает ENXIO). Третий 
удалит набор, как описано ниже в разделе --fail. 
 
0
27.01.2020, 20:00

Теги

Похожие вопросы