Solaris

Installing Solaris 10

Posted

Из-под Solaris (не XSCP!!):

чтобы отключить auto-boot: eeprom “auto-boot?”=false

чтобы посмотреть настройки auto-boot:  eeprom

XSCF> showdscp

чтобы поменять:

XSCF> setdomainmode -y -d 0 -m autoboot=off

DSCP Configuration:

Network: 192.168.2.0
Netmask: 255.255.255.0

 Location Address
---------- ---------
XSCF 192.168.2.1
Domain #00 192.168.2.2
Domain #01 192.168.2.3
XSCF>

0. Подготовка к сетевой инсталляции Solaris 

0.1. Делаем инсталляционный сервер

#cd /cdrom/cdrom0/Solaris_10/Tools/
#mkdir /u01/install
#./setup_install_server /u01/install
#./add_install_client -i 192.168.1.1 -e 00:14:4f:4a:c5:94 myserver sun4u


0.2. Добавляем ethernet-адрес 

Смотрим MAC на инсталлируемом сервере:
{2} ok show-nets
a) /pci@9,600000/network@1
b) /pci@9,700000/network@2
q) NO SELECTION
valid choice: a...b, q to quit a
/pci@9,600000/network@1 has been selected.
Type ^Y ( Control-Y ) to insert it in the command line.
e.g. ok nvalias mydev ^Y
 for creating devalias mydev for /pci@9,600000/network@1
{2} ok .properties
Not at a device tree node. Use 'dev <device-pathname>'.
{2} ok select /pci@9,600000/network@1
/pci@9,600000/network@1: 100 Mbps half duplex link up
{2} ok .properties
mac-address 00 14 4f 4a c5 94
link-clock auto
duplex auto
speed auto

дальше на инсталляционном сервере:
#vi /etc/ethers
"/etc/ethers" 3 lines, 59 characters
0:14:4f:4a:c5:94 myserver

#vi /etc/hosts
192.148.1.1 myserver.mydomain.ru myserver

Запускаем вручную RARP сервер
# /usr/sbin/in.rarpd -d -a

0.3. Загружаемся по сети:
{2} ok setenv auto-boot? false
auto-boot? = false
{2} ok reset-all
Resetting ...

{2} ok boot net - text
Boot device: /pci@9,700000/network@2 File and args: - text
/pci@9,700000/network@2: 100 Mbps half duplex link up
Requesting Internet Address for 0:14:4f:4a:c5:95

Если нужно вручную проставить параметры сетевого интерфейса, есть вариант:
{2} ok boot net:speed=100,duplex=full - text

Если загрузка не идет, можно послушать сеть:
#snoop from 0:14:4f:4a:c5:95 or to 0:14:4f:4a:c5:95

1. Проверка конфигурации железа

prtconf -vD

 

2. настройка сетевых интерфейсов

а) проверка физического подключения

вспомнить, какие там есть параметры:

ndd /dev/bge0 \?

проверить, есть ли линк:

ndd -get /dev/bge0 link_status

если скорость/дуплекс не в порядке, то подкрутить, например (не догма):

ndd -set /dev/bge0 adv_autoneg_cap 1
ndd -set /dev/bge0 adv_1000hdx_cap 0
ndd -set /dev/bge0 adv_1000fdx_cap 0
ndd -set /dev/bge0 adv_100hdx_cap 0
ndd -set /dev/bge0 adv_10fdx_cap 0
ndd -set /dev/bge0 adv_10hdx_cap 0
ndd -set /dev/bge0 adv_100fdx_cap 0

проверить результат:

#dladm show-dev

 

b. Enable the network card
#ifconfig bge0 plumb

c. Configuring ipaddress and netmask and making the interface status as up .

#ifconfig bge0 192.9.2.106 netmask 255.255.255.0 up

Чтобы эти настройки сохранились после перезагрузки, нужно добавить по 1 строке в 3 файла:

/etc/hostname.bge0

192.9.2.106 netmask 255.255.255.240

/etc/hosts

192.9.2.106 host2.mydomain.com host2

/etc/netmasks

192.9.2.106 255.255.255.240


 

2.3. Конфигурирование виртуального интерфейса

 

#ifconfig hme0:1 172.40.30.4 netmask 255.255.0.0 up

2.4. Конфигурирование VLAN’а

К номеру VLAN’а прибавляем 1000 и получаем название интерфейса, соответствующего VLAN’у

например, для VLAN 100:

#ifconfig bge100000 plumb

Настраиваем новый интерфейс как обычно:

#ifconfig bge100000 172.40.30.4 netmask 255.255.0.0 up

Не забываем создать файл

/etc/hostname.bge100000

и добавить в него имя хоста и маску сети для интерфейса,

а сам хост прописать в /etc/hosts и /etc/netmasks

 

!! что касается VLAN-интерфейсов: по непонятной мне причине после перезагрузки периодически
один или несколько интерфейсов оказываются в состоянии DOWN. Чтобы побороть проблему
я поставил в /etc/rc2.d скрипт по их поднятию:
ifconfig bge100000 up

2.5. Конфигурируем маршрутизацию

#route add -net 10.0.0.0 -netmask 255.0.0.0 172.40.30.1 1

#route add default 205.100.155.2 1
#route change default 205.100.155.2 1

 

Если нужно подставлять IP-адрес источника в зависимости от маршрута, то:

route add default 172.16.31.254 -setsrc 172.16.20.44

проверить:
route get x.x.x.x

см. также
ifconfig usesrc
и
IP network multipathing

3. настройка зеркала на корне

здесь лежит хорошая статья про то, как настраивать зеркало.

http://www.solarum.com/library/creating-disk-mirrors-with-svm/

чтобы поменять то, как диск разбит на разделы:

format

 

краткий список команд:

исходим из того, что система установлена на диске c0t0d0, а диск c0t1d0 – пустой. Копируем разметку с первого диска на второй:

prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s – /dev/rdsk/c0t1d0s2

На 7-м slice-е дисков должно быть зарезервировано как минимум 300 М под базу данных

Volume Manager’а.

Создаем эту самую базу данных:

metadb –a –c 3 -f c0t0d0s7 c0t1d0s7

Регистрируем базе разделы:

metainit -f d11 1 1 c0t0d0s0

metainit -f d12 1 1 c0t1d0s0

создаем зеркало (пока в нем только один диск):

metainit d10 -m d11

корректируем /etc/vfstab:

metaroot d10

Продолжаем с другими разделами. Для swap нужен флажок -f.

metainit -f d21 1 1 c0t0d0s1

metainit d22 1 1 c0t1d0s1

После того, как насоздавали зеркал, их нужно зарегистрировать вручную в /etc/vfstab (команда есть только для root). Потом перегружаемся, и можно к зеркалам подключать 2-й диск:

metattach d10 d12

metattach d20 d22

и т.д.

Какое то время данные будут переливаться с первого диска на второй. Понаблюдать можно с помощью команды:

metastat

 

4. отключение лишних сервисов

 

5. настройка NTP

хорошая статья: https://lucamerello.wordpress.com/2014/05/03/solaris-10-configure-and-enable-ntp-client-service/

скопировать шаблон конфигурационного файла /etc/inet/ntp.server в  /etc/inet/ntp.conf

создать файл

touch /var/ntp/ntp.drift

подкорректировать конфигурационный файл

#server 127.127.XType.0
server 212.193.105.177
server 127.127.1.0
fudge 127.127.1.0 stratum 0

#broadcast 224.0.1.1 ttl 4

#enable auth monitor
driftfile /var/ntp/ntp.drift
statsdir /var/ntp/ntpstats/
filegen peerstats file peerstats type day enable
filegen loopstats file loopstats type day enable
filegen clockstats file clockstats type day enable
# ! comment lines about keys
#keys /etc/inet/ntp.keys
#trustedkey 0
#requestkey 0
#controlkey 0

# ! add line about log

logfile /var/log/ntpd.log

и запустить сервис:

в 
> svcadm enable svc:/network/ntp
> svcadm refresh svc:/network/ntp
> svcadm restart svc:/network/ntp

проверить, что сервис запущен:

svcs | grep ntp
или
svcs ntp

если сервис находится в режиме maintenance, то посмотреть причину:
svcs -x ntp

проверить, что ntp начал работать

ntpq -p
при нормальной работе должна быть одна строка с плюсом

разовая (начальная) синхронизация с NTP-сервером:

#ntpdate <server-ip>

5. настройка путей для динамических библиотек

If you’re used to Linux you might be used to add paths where librarys reside to /etc/ld.so.conf and run ldconfig afterwards. Under Solaris there’s a similar way to configure paths for the dynamic linker. Please note that it’s only slightly better than setting LD_LIBRARY_PATH — you can break things if you don’t know exactly what you’re doing.

Configuration files for the dynamic linker reside under /var/ld/. Unlike under Linux you’re not meant to edit those with your favourite editor. Simply running crle without arguments will give you something like this:

# crle Default configuration file (/var/ld/ld.config) not found Default Library Path (ELF): /lib:/usr/lib (system default) Trusted Directories (ELF): /lib/secure:/usr/lib/secure (system default)

Now you can add a new path — for example /usr/local/lib — with crle -l ‘path’. This might look like this:

# crle -l /lib:/usr/lib:/usr/local/lib # crle Configuration file [version 4]: /var/ld/ld.config Default Library Path (ELF): /lib:/usr/lib:/usr/local/lib Trusted Directories (ELF): /lib/secure:/usr/lib/secure (system default) Command line: crle -c /var/ld/ld.config -l /lib:/usr/lib:/usr/local/lib

Please note that you have to specify all directories you want in the search path unless you use the -u (update) switch:

# crle -l /usr/local/lib -u # crle Configuration file [version 4]: /var/ld/ld.config Default Library Path (ELF): /lib:/usr/lib:/usr/local/lib Trusted Directories (ELF): /lib/secure:/usr/lib/secure (system default) Command line: crle -c /var/ld/ld.config -l /lib:/usr/lib:/usr/local/lib

6. EMC и powerpath

После подключения LUN’ов создать устройства:

# devfsadm -Cv
Должны появиться (обновиться) что-то типа
/dev/rdsk/c2t0d2s0
...
/dev/rdsk/c2t0d2s7
/dev/rdsk/c3t0d2s0
...
/dev/rdsk/c3t0d2s7
d2 - соответствует HostID

# powermt config

должен появиться новый псевдодиск, например:
/dev/dsk/emcpower4a
...
/dev/dsk/emcpower4h

показать устройства, имена LUN и статус подключения

# powermt display dev=all

отформатировать  раздел под размер больше 2 ТБ и разметить UFS:

Установить метку EFI
format -e
l -> EFI

newfs -T /dev/dsk/emcpower4a

После удаления ненужных LUN’ов:

# devfsadm -Cv
# powermt config
 
Удалить ненужные emcpower4a:
# powermt remove dev=emcpower4a
# powermt check
# powercf -q
# powermt save

6. Установка дополнительных locale

# localeadm -a en_US.UTF-8 -d /cdrom/cdrom0

посмотреть установленные Locale:

locale -l