Pull to refresh

Графическая установка Scientific Linux 6 на сервера ServerLoft

Reading time8 min
Views5.1K
Давно пользуюсь в некоторых проектах арендованными серверами и один из используемых мною датацентров — ServerLoft.

С недавних пор (если быть точным, то после выхода RHEL6) стало необходимо устанавливать на сервера CentOS6 или SL6, но проблема в том, что ServerLoft не предлагает возможности установки 6-й версии данных ОС (пока, по крайней мере). Вручную установку ОС специалисты данного ДЦ не производят.

Практически все сервера в ServerLoft обеспечены IPMI/iLO/iRMC/etc. Вследствие данного факта на сервер можно получить текстовую консоль, а для серверов HP даже графическую, а это позволяет установить нужную ОС без особых сложностей.

Подробности далее.

Ниже будет рассмотрена установка Scientific Linux 6 (установка CentOS6 не должна чем-либо отличаться, но я ниразу не ставил 6-й CentOS из-за его медленного, но уверенного отправления на свалку истории, к великому сожалению сообщества).

Если сервер только что предоставлен, то для запуска установки SL6 нужно зайти в интерфейс личного кабинета ServerLoft и произвести установку любой версии CentOS5 (я обычно ставлю CentOS5 x86_64 minimal RAID1) через Restore.

После успешной процедуры Restore вы должны иметь SSH root-доступ на целевой сервер.

IPMI


Обычно процедура Restore подразумевает автоматическую настройку IPMI-интерфейса на сервере.
IP-адрес менеджмент-интерфейса (он же IPMI) можно посмотреть в личном кабинете в описании сервера. Сразу рекомендую попробовать зайти по HTTPS на данный IP-адрес и убедиться, что в браузере вы видите что-то вменяемое, иначе же нужно оформить тикет и сообщить специалистам, что у вас проблемы с IPMI (такие проблемы обычно решаются рестартом по питанию).

Теперь можно зайти на сервер и сменить пароль на IPMI.

Определяем какой IPMI channel отвечает за взаимодействие с сетью:

# for i in {0..15}; do ipmitool channel info $i 2>/dev/null | grep -i LAN > /dev/null && echo $i; done

Обычно за LAN отвечает 2-й канал. Он будет использован в дальнейшем. Если у вас скрипт выше вернул что-то иное, то это число нужно использовать далее.

Теперь смотрим список пользователей на втором канале:

# ipmitool user list 2

Обычно список выглядит вот так или подобно:
ID  Name             Enabled Callin  Link Auth  IPMI Msg   Channel Priv Limit
1                    true    true    true       true       Unknown (0x00)
2   root             true    true    true       true       OEM


Теперь меняем пароль пользователю "" и root'у:

# ipmitool user set password 1 somesecret
# ipmitool user set password 2 somesecret


Замечание: пароль свыше 16-и символов ставить не рекомендуется, так же не рекомендуется использовать спецсимволы в пароле.

Теперь пришло время проверить, что нас пускает на serial console с удалённого компьютера:

$ ipmiconsole -W sun20,solpayloadsize -h 10.20.30.40 -u root -p somesecret --serial-keepalive

где 10.20.30.40 — IP-адрес вашего IPMI.

Если открылась сессия, на экране видим "[SOL established]" и программа не завершилась сразу же (с ошибкой), то успех достигнут — серийная консоль (serial over LAN) у нас есть.

Обычно сервера в ServerLoft после установки сразу же настроены таким образом, что на серийной консоли запущен agetty и если нажать Enter, то увидим приглашение к логину.

Для открытия консоли можно использовать ipmitool вместо ipmiconsole, но последняя на моём опыте работает в большем количестве случаев.

Стоит заметить, что каждый производитель делает IPMI по принципу «кто во что горазд», поэтому иногда что-то может работать в одном случае и не работать в другом.

Ядро и initrd-образ SL6, загрузка в инсталлятор


Теперь нужно скачать установочное ядро и initrd-образ SL6, а затем загрузиться в это новое ядро.

# cd /boot/
# wget ftp1.scientificlinux.org/linux/scientific/6.1/x86_64/os/isolinux/vmlinuz
# wget ftp1.scientificlinux.org/linux/scientific/6.1/x86_64/os/isolinux/initrd.img


Открываем на редактирование /etc/grub.conf и приводим к подобному виду:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg. console=ttyS0,57600 console=tty0
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sda2 console=ttyS0,57600 console=tty0
#          initrd /initrd-version.img
#boot=/dev/sda
serial --unit=0 --speed=57600

terminal --timeout=2 serial console

default=1
timeout=5

hiddenmenu
title EL6
        kernel /vmlinuz console=ttyS0,57600 console=tty0 serial text
        initrd /initrd.img
title CentOS (2.6.18-274.7.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-274.7.1.el5 ro root=LABEL=/ nodmraid  console=ttyS0,57600 console=tty0
        initrd /initrd-2.6.18-274.7.1.el5.img
title CentOS (2.6.18-274.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-274.el5 ro root=LABEL=/ nodmraid  console=ttyS0,57600 console=tty0
        initrd /initrd-2.6.18-274.el5.img


Обратите внимание на комментарии. Если каталг /boot в вашей системе сделан на отдельном разделе, то пути будут как в примере выше, иначе нужно писать "/boot" в начале всех путей.

Ключевые строки в grub.conf:
— «console=ttyS0,57600 console=tty0» в параметрах каждого ядра — это настройки перенаправления сообщений ядра в tty0, это терминал, подключеный к COM-порту IPMI-контроллера;
— «serial --unit=0 --speed=57600» и «terminal --timeout=2 serial console» — перенаправление вывода Grub на serial console (помимо реальных консолей, естественно);
— «default 1» — в момент загрузки нужно выбрать в Grub пункт EL6, чтобы произвести установку (по умолчанию будет загружаться ядро CentOS5 и старая система);
— «title EL6» — пункт нового ядра и далее — его описание.

Почти всё готово к перезагрузке в новое ядро. Осталось лишь запомнить настройки сети, чтобы внести их в инсталлере, ведь установка будет произведена из сетевых источников.

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:26:70:70:70:70 brd ff:ff:ff:ff:ff:ff
    inet 123.123.123.170/26 brd 188.138.40.191 scope global eth0
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether 00:26:80:80:80:80 brd ff:ff:ff:ff:ff:ff
4: sit0: <NOARP> mtu 1480 qdisc noop 
    link/sit 0.0.0.0 brd 0.0.0.0
#
# ip r | grep default
default via 123.123.123.129 dev eth0 


Теперь можно перезагружаться в ядро SL6 и производить установку.

Установка и VNC



Выбираем в серийной консоли созданные ранее пункт меню:
    GNU GRUB  version 0.97  (627K lower / 2094848K upper memory)

 +-------------------------------------------------------------------------+
 | EL6                                                                     |  
 | CentOS (2.6.18-274.7.1.el5)                                             |
 | CentOS (2.6.18-274.el5)                                                 |
 |                                                                         |
 |                                                                         |
 |                                                                         |
 |                                                                         |
 |                                                                         |
 |                                                                         |
 |                                                                         |
 |                                                                         |
 |                                                                         |  
 +-------------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press enter to boot the selected OS, 'e' to edit the
      commands before booting, 'a' to modify the kernel arguments
      before booting, or 'c' for a command-line.



и наблюдаем за процессом загрузки, пока инсталлятор не спросит первый вопрос:
Welcome to Scientific Linux for x86_64

                    ┌────────┤ Choose a Language ├────────┐
                    │                                     │
                    │ What language would you like to use │
                    │ during the installation process?    │
                    │                                     │
                    │      Catalan                ↑       │
                    │      Chinese(Simplified)    ▒       │
                    │      Chinese(Traditional)   ▮       │
                    │      Croatian               ▒       │
                    │      Czech                  ▒       │
                    │      Danish                 ▒       │
                    │      Dutch                  ▒       │
                    │      English                ↓       │
                    │                                     │
                    │               ┌────┐                │
                    │               │ OK │                │
                    │               └────┘                │
                    │                                     │
                    │                                     │
                    └─────────────────────────────────────┘

  <Tab>/<Alt-Tab> between elements  | <Space> selects | <F12> next screen

Идём по диалогу.

Теперь инсталлятор спрашивает о методе инсталляции
Welcome to Scientific Linux for x86_64

                                                                                
                                                                                
                        ┌───┤ Installation Method ├───┐                         
                        │                             │                         
                        │ What type of media contains │                         
                        │ the installation image?     │                         
                        │                             │                         
                        │        Local CD/DVD         │                         
                        │        Hard drive           │                         
                        │        NFS directory        │                         
                        │        URL                  │                         
                        │                             │                         
                        │   ┌────┐       ┌──────┐     │                         
                        │   │ OK │       │ Back │     │                         
                        │   └────┘       └──────┘     │                         
                        │                             │                         
                        │                             │                         
                        └─────────────────────────────┘                         
                                                                                
                                                                                

  <Tab>/<Alt-Tab> between elements  | <Space> selects | <F12> next screen

Выбираем URL и естественно, нужно настроить сеть:
Welcome to Scientific Linux for x86_64

                                                                                
                                                                                
                                                                                
             ┌───────────────┤ Networking Device ├───────────────┐              
             │                                                   │              
             │ You have multiple network devices on this system. │              
             │ Which would you like to install through?          │              
             │                                                   │              
             │  eth0 - Ethernet device eth0 - 00:26:70:70:70:70  │              
             │  eth1 - Ethernet device eth1 - 00:26:80:80:80:80  │              
             │                                                   │              
             │    ┌────┐        ┌──────────┐        ┌──────┐     │              
             │    │ OK │        │ Identify │        │ Back │     │              
             │    └────┘        └──────────┘        └──────┘     │              
             │                                                   │              
             │                                                   │              
             └───────────────────────────────────────────────────┘              
                                                                                
                                                                                
                                                                                

  <Tab>/<Alt-Tab> between elements  | <Space> selects | <F12> next screen

Здесь нужно вспомнить какой интерфейс у нас был настроен в исходной системе и произвести его настройки.

Отключаем IPv6, IPv4 конфигурируем вручную:
Welcome to Scientific Linux for x86_64

                                                                                
                ┌─────────────┤ Configure TCP/IP ├─────────────┐                
                │                                              │                
                │ [*] Enable IPv4 support                      │                
                │        ( ) Dynamic IP configuration (DHCP)   │                
                │        (*) Manual configuration              │                
                │                                              │                
                │ [ ] Enable IPv6 support                      │                
                │        (*) Automatic neighbor discovery      │                
                │        ( ) Dynamic IP configuration (DHCPv6) │                
                │        ( ) Manual configuration              │                
                │                                              │                
                │        ┌────┐               ┌──────┐         │                
                │        │ OK │               │ Back │         │                
                │        └────┘               └──────┘         │                
                │                                              │                
                │                                              │                
                └──────────────────────────────────────────────┘                
                                                                                
                                                                                

  <Tab>/<Alt-Tab> between elements  | <Space> selects | <F12> next screen


Вводим настройки IPv4 (google DNS после переустановки нужно сменить на что-то более вменяемое):
Welcome to Scientific Linux for x86_64
                                                                                
       ┌────────────────┤ Manual TCP/IP Configuration ├─────────────────┐       
       │                                                                │       
       │ Enter the IPv4 and/or the IPv6 address and prefix (address /   │       
       │ prefix).  For IPv4, the dotted-quad netmask or the CIDR-style  │       
       │ prefix are acceptable. The gateway and name server fields must │       
       │ be valid IPv4 or IPv6 addresses.                               │       
       │                                                                │       
       │ IPv4 address: 123.123.123.170_ / 26______________              │       
       │ Gateway:      123.123.123.129__________________________        │       
       │ Name Server:  8.8.4.4__________________________________        │       
       │                                                                │       
       │             ┌────┐                        ┌──────┐             │       
       │             │ OK │                        │ Back │             │       
       │             └────┘                        └──────┘             │       
       │                                                                │       
       │                                                                │       
       └────────────────────────────────────────────────────────────────┘       
                                                                                
                                                                                

  <Tab>/<Alt-Tab> between elements  | <Space> selects | <F12> next screen


С сетью закончили и IP-адрес сервера должен начать пинговаться.

Тепень настраиваем путь до репозитория (ftp://ftp1.scientificlinux.org/linux/scientific/6.1/x86_64/os/):
Welcome to Scientific Linux for x86_64

        ┌────────────────────────┤ URL Setup ├─────────────────────────┐        
        │                                                              │        
        │        Please enter the URL containing the Scientific        │        
        │        Linux installation image on your server.              │        
        │                                                              │        
        │ ://ftp1.scientificlinux.org/linux/scientific/6.1/x86_64/os/_ │        
        │                                                              │        
        │ [ ] Enable HTTP proxy                                        │        
        │                                                              │        
        │ Proxy URL        ___________________________________         │        
        │ Username         _______________                             │        
        │                                                              │        
        │ Password         _______________                             │        
        │                                                              │        
        │            ┌────┐                       ┌──────┐             │        
        │            │ OK │                       │ Back │             │        
        │            └────┘                       └──────┘             │        
        │                                                              │        
        │                                                              │        
        └──────────────────────────────────────────────────────────────┘        

  <Tab>/<Alt-Tab> between elements  | <Space> selects | <F12> next screen


Нажимаем ОК и наблюдаем как сервер загружает необходимые для последующей инсталляции файлы установщика.

Теперь осталось ответить на последний важный вопрос — желаем ли проводить установку через VNC в графическом режиме или же продолжаем в текстовом:





              ┌──────────┤ Would you like to use VNC? ├──────────┐
              │                                                  │
              │ Text mode provides a limited set of installation │
              │ options.  It does not allow you to specify your  │
              │ own partitioning layout or package selections.   │
              │ Would you like to use VNC mode instead?          │
              │                                                  │
              │     ┌───────────┐         ┌───────────────┐      │
              │     │ Start VNC │         │ Use text mode │      │
              │     └───────────┘         └───────────────┘      │
              │                                                  │
              │                                                  │
              └──────────────────────────────────────────────────┘





  <Tab>/<Alt-Tab> between elements   |  <Space> selects   |  <F12> next screen


Нажимаем Start VNC и вводим пароль:

               ┌─────────────┤ VNC Configuration ├──────────────┐
               │                                                │
               │ A password will prevent unauthorized listeners │
               │ connecting and monitoring your installation    │
               │ progress.  Please enter a password to be used  │
               │ for the installation                           │
               │                                                │
               │      Password:           *********_______      │
               │      Password (confirm): *********_______      │
               │                                                │
               │                                                │
               │   ┌────┐      ┌─────────────┐     ┌──────┐     │
               │   │ OK │      │ No password │     │ Back │     │
               │   └────┘      └─────────────┘     └──────┘     │
               │                                                │
               │                                                │
               └────────────────────────────────────────────────┘

  <Tab>/<Alt-Tab> between elements   |  <Space> selects   |  <F12> next screen


Видим сообщение
21:52:40 Starting VNC...                                                       
21:52:41 The VNC server is now running.
21:52:41 

You chose to execute vnc with a password. 


21:52:41 Please manually connect your vnc client to loftXXXX.serverloft.com:1 (123.123.123.170) to begin the install.
Press <enter> for a shell
21:52:41 Starting graphical installation.


Радуемся. На локальной системе, которая работает в графическом режиме запускаем VNC-клиент:

$ vncviewer loftXXXX.serverloft.com:1
(или любой другой любимый VNC-клиент)

и производим установку в полноценном графическом режиме.

P.S. Параметры для ядра, которые передаются в Anaconda при установке. Здесь можно передать путь до файла kikcstart и все сетевые настройки так, чтобы система проинсталлировалась автоматически. Файл kickstart нужно предварительно написать, но данная статья не о том, как его писать, а лишь чтобы показать как можно установить свежую ОС в удобном режиме инсталлятора.
P.P.S. Кому-то вполне подойдёт и текстовая инсталляция, но в ней, к сожалению, нельзя полноценно настроить mdraid и LVM.
Tags:
Hubs:
+13
Comments5

Articles