Я наконец-то разобрался! Сначала прошейте 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
У вас есть трехстороннее зеркало: на каждом диске есть полная копия всех данных. Предполагая, что диск, который вы хотите удалить, - это / 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
.
man mdadm:
-r, --remove удалить перечисленные устройства. Они не должны быть активными. т.е. они должны быть неисправными или запасными. Помимо имени файла устройства (например, / dev / sda1) слова failed, detached и такие имена, как set-A, можно присвоить параметру --remove. Первый вызывает удаление всех неисправных устройств. Второй вызывает удаление любого устройства, которое больше не подключено к системе (т. Е. «Open» возвращает ENXIO). Третий удалит набор, как описано ниже в разделе --fail.