Категорії
Solaris

Добавление net в зону Solaris

Что делать, если зона запущена, а в ней нужно добавить ещё одну сеть? Можно добавить через zonecfg и ребутнуть зону. Но что делать, если ребут невозможен по каким-то причинам? Оказывается, выход есть.

Примечание.

Начиная с 11.2 появилась возможность сделать apply конфига при запущенной зоне. Делаем необходимые изменения через zonecfg и потом просто выполняем:

# zoneadm -z zonename apply

IP-TYPE=SHARED

Ниже будет предложено 2 варианта (подходят только для ip-type = shared): один чисто классический (спасибо за этот метод одному из наших постоянных читателей) для версии 11.Х, а второй метод работает как под 10, так и под 11 (а так же 11.1) версией Solaris.

1) Метод 1.

Кратко суть метода (все действия делаем в global-зоне): создаём адрес и меняем ему свойство zone с указанием нужной зоны

# ipadm create-addr -t -T static -a 192.168.56.245/24 vboxnet0/v4b
# ipadm show-addrprop -p zone vboxnet0/v4b
ADDROBJ           PROPERTY   PERM CURRENT         PERSISTENT      DEFAULT         POSSIBLE
vboxnet0/v4b      zone       rw   global          --              global          --
# ipadm set-addrprop -t -p zone=skeletor.dev vboxnet0/v4b
# ipadm show-addrprop -p zone vboxnet0/v4b
ADDROBJ           PROPERTY   PERM CURRENT         PERSISTENT      DEFAULT         POSSIBLE
vboxnet0/v4b      zone       rw   skeletor.dev    --              global          --
# zlogin skeletor.dev "ipadm show-addr | grep vboxnet0"
vboxnet0/?        from-gz  ok           192.168.56.245/24

Если не поставить -t (temporary), то получим ругань:

ipadm: set-addrprop: zone: Persistent operation on temporary object

2) Метод 2.

И так, в global-zone нужно выполнить команду. Общий вид этой команды:

# ifconfig <PHYSICALNIC> addif <NEWIPADDRESS> netmask <NEWNETMASK> zone <ZONENAME> up

Пример:

# ifconfig vboxnet0 addif 192.168.56.10 netmask 255.255.255.0 zone prod-zone up
Created new logical interface vboxnet0:2

В старых версиях возможно нужно указывать сетевой интерфейс вместе с алиасом:

# ifconfig vboxnet0:2 addif 192.168.56.10 netmask 255.255.255.0 zone prod-zone up

Но у меня он вызвал ошибку.

 

IP-TYPE=EXCLUSIVE

Работает как для vnic’a, так и для физического интерфейса. Разберём пример с vnic’ом. Создаём vnic в global zone:

# dladm create-vnic -l aggr0 nfs0

Указываем ему, что теперь он принадлежит зоне (обязательно указываем параметр ‘-t’ – временно, так как для перманентного изменения мы просто отредактируем зону через zonecfg):

# dladm set-linkprop -t -p zone=upload nfs0

Теперь в зоне можно увидеть этот интерфейс:

(upload)# dladm 
LINK                CLASS     MTU    STATE    OVER
st0                 vnic      1500   up       ?
nfs0                vnic      9000   up       ?

Дальше уже как обычно:

(upload)# ipadm create-ip nfs0
(upload)# ipadm create-addr -T static -a 10.1.1.1/24 nfs0/v4

Осталось не забыть добавить это в zonecfg:

# zonecfg -z upload "add net; set physical=nfs0; end"

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff