NetworkManager и псевдоним интерфейса lo стали псевдонимом team0

Если вы не используете параметры для принудительного использования устаревшего режима совместимости с MS -DOS или не используете экспертный режим для указания точных номеров блоков LBA для начала и конца разделов, большинство современных инструментов разбиения на разделы (Linux и другие )по умолчанию выровняет разделы до кратных 1 МБ. Это также то, что делает современная Windows, и она гарантирует совместимость как с размером сектора 4 КБ, так и с различными устройствами хранения SSD и SAN, которые могут потребовать выравнивания до большей степени двойки для оптимальной производительности.

Вы можете использовать lsblk -tдля проверки смещения выравнивания каждого раздела. Если значение в столбце ALIGNMENTравно нулю, то, насколько известно ядру, раздел должен быть оптимально выровнен.

Чтобы изменить размер сектора жесткого диска, сначала необходимо убедиться, что ваш жесткий диск поддерживает реконфигурацию размера логического сектора. Изменение размера логического сектора, скорее всего, сделает все существующие данные на диске непригодными для использования, что потребует от вас полной переразметки диска и воссоздания всех файловых систем с нуля. hdparm --set-sector-size 4096 /dev/sdXбыл бы «стандартным» способом изменения размера сектора, но если для этого есть -специальный инструмент поставщика, я предпочел бы использовать его вместо этого -на тот случай, если конкретный диск требует специальных шагов поставщика -.

На твердотельных накопителях NVMe nvme id-ns -H /dev/nvmeXnYсообщит (среди прочего )размер сектора (s ), поддерживаемый SDD, номер формата LBA, связанный с каждым размером сектора, и текущий -используется размер сектора. Если вы хотите изменить размер сектора, а желаемый размер действительно поддерживается, вы можете использовать nvme format --lbaf=<number> /dev/nvmeXnYдля переформатирования определенного пространства имен NVMe в другой размер сектора.

0
25.03.2020, 22:06
2 ответа

Я нашел хорошее решение вместо использования NetworkManager, который не работает для этого псевдонима. Я использую старый добрый скрипт rc.local и команду ip В этом случае мне нужен виртуальный IP-адрес (, настроенный на keepalived proxy1 и proxy2 ), а также «привязанный» к интерфейсу lo как псевдоним на двух реальных серверах, два arp _игнорируются, иначе это странно. бывают проблемы с сетью.

vim /etc/rc.d/rc.local
#!/bin/bash

start() {
echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
ip addr add 10.2.0.4/32 dev lo label lo:0
}

stop() {
echo stop
}


restart() {
stop
start
}

case "$1" in
'start')
  start
  ;;
'stop')
  stop
  ;;
'restart')
  restart
  ;;
*)
  echo "usage: $0 start|stop|restart"
esac
chmod 755 /etc/rc.d/rc.local 
0
19.03.2021, 02:32

В вашем случае при вызове initscripts ifupон просто вызывает nmcli connection up. Это означает, что в этих случаях initscripts ничего не делает, кроме вызова NetworkManager.

Как бы то ни было, сценарии инициализации поддерживают "псевдонимы", которые в основном являются дополнительными IP-адресами. Это файлы ifcg -с суффиксом :0. Думаю, если бы вы использовали простые сценарии инициализации, этот файл ifcfg -мог бы работать. Это означает, что если вы установите NM_CONTOLLED=noили вообще отключите NetworkManager.

NetworkManager на самом деле не поддерживает такие псевдонимы. Он поддерживает профили подключения (, которые в основном соответствуют обычному файлу ifcfg ), и поддерживает несколько IP-адресов для каждого профиля. Но вы не можете разделить один профиль на несколько частей, например псевдонимы initscripts. Итак, я предполагаю, что это двоеточие в имени файла сбивает с толку NetworkManager.

Формат файла initscripts кажется не таким очевидным для понимания. Например, увидев файл, мне непонятно, как NetworkManager будет интерпретировать файл. Но что в конце концов имеет значение, так это интерпретация файла. Посмотрите на nmcli connection show lo:0.Тогда должно быть понятно, почему NetworkManager ведет себя именно так. Я думаю, причина в том, что Networkmanager распознает, что это псевдоним для файла ifcfg-lo, но псевдоним файла ifcfg не может определить имя устройства. В то же время ifcfg-loпредназначен для loopback-устройства, которое всегда неуправляемо NetworkManager.

Вероятно, это ошибка в NM, связанная с попыткой определить псевдоним, который NetworkManager не поддерживает.

1
19.03.2021, 02:32

Теги

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