Настройка на статична хост информация, SSH, NTP и DNS
След като сте инсталирали две виртуални машини, използвайки инструкциите, дадени миналата учебна седмица, трябва да определите коя от тях ще играе ролята сървър за управление (наричан по-долу "сървър") и коя - изчислителен сървър (клиент на сървъра за управление, наричан по-долу "клиент"). Сървърът за управление има за цел да предостави информация за потребителите (потребителско име, UID, GID, домашна директория и др), хост информация (ако се използва като DHCP сървър), различни видове услуги като DNS, NTP и др. Отбележете, че в реалната HPC среда може да има повече от един сървър за управление и схемата, която се използва за демонстрация тук, е опростена.
Настройка на статична хост информация
По подразбиране, освен ако не сте указали друго по време на инсталацията, виртуалните машини ще получат хост информация (IP адрес, мрежова маска, мрежови шлюз, DNS сървъри) по протокол DHCP, като DHCP сървъра ще е този, който работи на виртуализатора. За примера долу, чрез инструментариума на NetworkManager, ще бъде конфигурирана ръчно следната хост информация:
- сървър
IPv4 адрес: 192.168.122.100/24
IPv4 Gateway: 192.168.122.1
IPv6 адрес: fccc:067c:20d0:ffff::100/64
IPv6 gateway: fccc:067c:20d0:ffff::
DNS Server: 192.168.122.1 - клиент:
IPv4 адрес: 192.168.122.101/24
IPv4 Gateway: 192.168.122.1
IPv6 адрес: fccc:067c:20d0:ffff::101/64
IPv6 gateway: fccc:067c:20d0:ffff::
DNS Server: 192.168.122.1
Първата и най-важна стъпка е да получите списъка с мрежови интерфейси, които (по подразбиране) трябва да са под управлението на NetworkManager. За да видите какви мрежови интерфейси (устройства) имате активни в системата, изпълнете командния ред:
# nmcli d
Това, което ще видите като резултат (ако сте следвали всички стъпки по инсталацията), ще изглежда по следния начин (възможно е във вашия случай да виждате интерфейси с малко по-различни имена):
DEVICE TYPE STATE CONNECTION
ens3 ethernet connected ens3
lo loopback unmanaged --
За да видите изградените свързаности през интерфейсите, изпълнете:
# nmcli c s
Изходът от изпълнението на тази команда ще изглежда подобно на:
NAME UUID TYPE DEVICE
ens3 f88c0124-0b3a-422f-8123-1d42cb1a2687 ethernet ens3
Забележете, че всяка настроена логическа или физическа връзка, която се управлява от NetworkManager, има асоцииран уникален идентификатор (ще го видите в колоната UUID). Добра практика е да използвате този UUID при всички операции за настройка/пренастройка.
Най-важното в момента е да разберете през кой от интерфейсите преминава свързаността ви към Интернет. За целта, изпълнете следното:
# ip route | grep default
Ако, в момента на изпълнението на този команден ред, в системата е настроен шлюз (gateway), ще получите записа, на база на който маршрутизацията по подразбиране се насочва към шлюза (по IP адрес):
default via 192.168.122.1 dev ens3 proto static metric 100
Ще видите името на интерфейса след декларацията "dev". За примера, интерфейса е с име "ens3".
Когато задавате IPv4 и IPv6 адресите за виртуалната машина, която ще играе ролята на сървър, трябва да изпълните следната последователност от команди (IP адресите в примера по-долу са за сървъра):
nmcli> set ipv4.method manual
nmcli> set ipv4.addresses 192.168.122.100/24
nmcli> set ipv4.gateway 192.168.122.1
nmcli> set ipv4.dns 192.168.122.1
nmcli> set ipv6.method manual
nmcli> set ipv6.addresses fccc:067c:20d0:ffff::100/64
nmcli> set ipv6.gateway fccc:067c:20d0:ffff::1
nmcli> save
Connection 'ens3' (f88c0124-0b3a-422f-8123-1d42cb1a2687) successfully updated.
nmcli> activate ens3
Проверете дали новите IP адреси, конфигурирани върху интерфейса ens3 (ако при вас името на интерфейса е друго - използвайте актуалното име), са конфигурирани:
# ip addr show dev ens3
Резултатът от изпълнението ще е подобен на:
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:95:96:f0 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.100/24 brd 192.168.122.255 scope global noprefixroute ens3
valid_lft forever preferred_lft forever
inet6 fccc:67c:20d0:ffff::100/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::7ef9:aedf:6d9b:51c0/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Проверете и дали шлюзовете за IPv4 и IPv6 са тези, който сте задали, като изпълните:
# ip route | grep default
# ip -6 route | grep default
В първия случай трябва да бъде изведено:
default via 192.168.122.1 dev ens3 proto static metric 100
а във втория:
default via fccc:67c:20d0:ffff::1 dev ens3 proto static metric 100 pref medium
Проверете съдържанието на файла /etc/resolv.conf и установете дали в него присъства DNS сървъра, който сте задали ръчно по-горе (192.168.122.1):
# cat /etc/resolv.conf
Повторете настройката и за клиента (който в това демо е изчислителния HPC сървър).
SSH, NTP и DNS
Преди да преминете към следващата част от обучението, трябва да настроите специфично SSH сървъра и на двете виртуални машини. Това трябва да направите съгласно инструкциите дадени в документа:
Настройки на OpenSSH сървър под CentOS и Scientific Linux
След като сте готови с конфигурацията на SSH сървъра, трябва да се научите (ако не знаете) как се влиза в отдалечена система чрез SSH клиент, който използва за удостоверяване през сървъра SSH ключове. Ако ще достъпвате виртуалните машини по SSH от работна станция, базирана на Windows 10, може би ще искате да използвате PuTTY и WinSCP за да достъпвате виртуалните машини и обменяте файлове с тях (така ще симулирате свързването до сървърите в реалната HPC инфраструктура). В този случай трябва да прочетете следните документи и да изпълните указанията в тях:
- Използване на PuTTY със SSH ключове под Windows 10
- Управление на SSH ключове с PyTTYgen под Windows 10
- Зареждане и премахване на SSH ключове от паметта с Pegeant под Windows 10
- Използване на WinSCP със SSH ключове под Windows 10
Ако използвате виртуализатор под Linux или Mac OS X (виртуалните машини се управляват от този виртуализатор), трябва да прочетете вниманително следната документация и да изпълните инструкциите в нея:
Използване на SSH ключове за достъп до отдалечени SSH сървъри под Linux и Mac OS X
Когато приключите с тази част от документацията, трябва да изградите NTP сървър и клиент и да установите комуникация между тях, която е цифрово подписана. Документацията, която трябва да следвате е следната:
- Инсталиране и настройка на NTP сървър под CentOS 7 и Scientific Linux 7 (това извършвате на виртуалната машина, която играе ролята на управляваш HPC сървър)
- Инсталиране и настройка на NTP клиент под CentOS 7 и Scientific Linux
7 (това извършвате на виртуалната машина, която играе ролята
на изчислителен HPC сървър)
Накрая, трябва да инсталирате кеш DNS сървър, базиран на BIND и да установите TSIG комуникация между него и DNS клиент, използвайки следната документация:
- Инсталиране и настройка на BIND-базиран DNS сървър, поддържащ TSIG, под CentOS 7 и Scientific Linux 7 (това извършвате на виртуалната машина, която играе ролята на управляваш HPC сървър)
- Инсталиране и настройка на BIND-базиран DNS клиент, поддържащ TSIG, под
CentOS 7 и Scientific Linux 7 (това извършвате на виртуалната
машина, която играе ролята на изчислителен HPC сървър)