X

Hetzner: установка CentOS 7 с диском на 3 TB

Сегодня, решил арендовать новый сервер у своего любимого хостинг провайдера Hetzner. Воворемя вспомнил о том, что в прошлый раз установил образ по-умолчанию который разделил 3 TB диск на две части: 1TB + 2TB. Т.к. я использую ISP Manager 5 в качестве панелей администрирования, мне оказалось не очень удобно такое разделение и когда настало время, пришлось немного поплясать с бубном, чтобы не пришлось все переустанавливать заново. В общем, решено было использовать максимум под основной раздел. Делать все будем на CentOS 7, т.к. эта система рекомендована для использования с CentOS. В общем погнали..

Для начала, идем по адресу: http://ru.hetzner.com, выбираем и заказываем себе сервер и необходимые опции. Так же советую заглянуть на аукцион серверов.

После того, как Вы получите письмо с уведомлением, что сервер готов к работе и он появится в панеле Robot начинаем настройку.

Переходи в раздел Main functions>Servers панели Robot, выбираем нужный сервер, переходим на вкладку Rescue и активируем Rescue систему:

Активация Rescue в Hetzner.Robot

После нажатия кнопки, Вам покажут примерно такое сообщение:

Then you can access your server, using the user name "root" and the following password: ***********

Копируем его в блокнот или еще куда-нибудь (например перепишите на листик :] ) и перезагружаем сервер. Сделать это можно либо авторизорвавшись по SSH с данными которые Вам прислали на email вместе с сообщение что сервер готов, либо попросту перейдя на соседнюю вкладку Reset, выбрать пункт "Send CTRL+ALT+DEL to the server", и нажать кнопку [Send]:

Перезагрузка сервера через панель Robot

Через пару минут, сервер перезагрузится и готов будет для дальнейших работ. Ждем пару минут и логинимся по SSH используя данные которые я говорил записать или скопировать.

Для логина по SSH используйте Putty (а лучше mRemoteNG) в Windows или терминал (а лучше PAC ) в Linux

После того, как Вы войдете, вы увидите командную строку rescue:

Командная строка Rescue

Вводим там следующее: installimage

Выполняем команду installimage

Следующим шагом выбираете нужную ОС. В моем случае я хочу установить ISP Manager, поэтому выбираю CentOS:

Выбор операционной системы

На следующем шаге выбираем версию. Мне нужна минимальная, 7 версия:

Выбор версии CentOS

Теперь нам сообщают о том, что будет открыт редактор инсталлера, и о том что по-умолчанию диски будут использовать программный raid. Мне это подходит, нажимаем [Ok] :

Уведомление об открытии редактора конфигурации

Теперь должен появиться редактор конфигурации

Конфигурация installer-а

Может кому пригодится, текст такой:

## ===================================================
##  Hetzner Online GmbH - installimage - standardconfig.
## ===================================================



## ====================
##  HARD DISK DRIVE(S):
## ====================


# Onboard: TOSHIBA DT01ACA300
DRIVE1 /dev/sda
# Onboard: ST3000DM001-1CH166
DRIVE2 /dev/sdb




## ===============
##  SOFTWARE RAID:
## ===============

## activate software RAID?  < 0 | 1 >

SWRAID 1

## Choose the level for the software RAID < 0 | 1 | 10 >

SWRAIDLEVEL 1


## ============
##  BOOTLOADER:
## ============


## Do not change. This image does not include or support lilo (grub only)!:

BOOTLOADER grub


## ==========
##  HOSTNAME:
## ==========

## which hostname should be set?
##.

HOSTNAME CentOS-72-64-minimal



## ==========================
##  PARTITIONS / FILESYSTEMS:
## ==========================

## define your partitions and filesystems like this:
##
## PART  <mountpoint/lvm>  <filesystem/VG>  <size in MB>
##
## * <mountpoint/lvm> mountpoint for this filesystem  *OR*  keyword 'lvm'
##                    to use this PART as volume group (VG) for LVM
## * <filesystem/VG>  can be ext2, ext3, reiserfs, xfs, swap  *OR*  name
##                    of the LVM volume group (VG), if this PART is a VG
## * <size>           you can use the keyword 'all' to assign all the
##                    remaining space of the drive to the *last* partition.
##                    you can use M/G/T for unit specification in MIB/GIB/TIB
##
## notes:
##   - extended partitions are created automatically
##   - '/boot' cannot be on a xfs filesystem!
##   - '/boot' cannot be on LVM!
##   - when using software RAID 0, you need a '/boot' partition
##
## example without LVM (default):
## -> 4GB   swapspace
## -> 512MB /boot
## -> 10GB  /
## -> 5GB   /tmp
## -> all the rest to /home
#PART swap   swap      4096
#PART /boot  ext2       512
#PART /      reiserfs 10240
#PART /tmp   xfs       5120
#PART /home  ext3       all
#
##
## to activate LVM, you have to define volume groups and logical volumes
##
## example with LVM:
#
## normal filesystems and volume group definitions:
## -> 512MB boot  (not on lvm)
## -> all the rest for LVM VG 'vg0'
#PART /boot  ext3     512M
#PART lvm    vg0       all
#
## logical volume definitions:
#LV <VG> <name> <mount> <filesystem> <size>
#
#LV vg0   root   /        ext4         10G
#LV vg0   swap   swap     swap          4G
#LV vg0   tmp    /tmp     reiserfs      5G
#LV vg0   home   /home    xfs          20G
#
#
## your system has the following devices:
#
# Disk /dev/sda: 3000 GB (=> 2794 GiB) doesn't contain a valid partition table
# Disk /dev/sdb: 3000 GB (=> 2794 GiB) doesn't contain a valid partition table
#
## Based on your disks and which RAID level you will choose you have
## the following free space to allocate (in GiB):
# RAID  0: ~5588
# RAID  1: ~2794
#

PART swap swap 16G
PART /boot ext3 512M
PART / ext4 1024G
PART /home ext4 all



## ========================
##  OPERATING SYSTEM IMAGE:
## ========================

## full path to the operating system image
##   supported image sources:  local dir,  ftp,  http,  nfs
##   supported image types: tar, tar.gz, tar.bz, tar.bz2, tar.xz, tgz, tbz, txz
## examples:
#
# local: /path/to/image/filename.tar.gz
# ftp:   ftp://<user>:<password>@hostname/path/to/image/filename.tar.bz2
# http:  http://<user>:<password>@hostname/path/to/image/filename.tbz
# https: https://<user>:<password>@hostname/path/to/image/filename.tbz
# nfs:   hostname:/path/to/image/filename.tgz
#
# for validation of the image, place the detached gpg-signature
# and your public key in the same directory as your image file.
# naming examples:
#  signature:   filename.tar.bz2.sig
#  public key:  public-key.asc

IMAGE /root/.oldroot/nfs/install/../images/CentOS-72-64-minimal.tar.gz

 

Тут много комментариев и мало настроек, давайте немножко расскажу, что тут можно настроить:

  • SWRAID = использовать программный рейд, да (1), нет(0). Я не менял, мне нужен Raid 1.
  • SWRAIDLEVEL = уровень рейда (0,1,10), справка есть в wiki. Я не менял, мне нужен Raid 1.
  • BOOTLOADER = загрузчик, в 99% случаях менять не надо. Я не менял, мне нужен grub2.
  • HOSTNAME = имя хоста, я обычно пишу сюда поддомен любого своего домена, который будет представлять этот сервер.  Без http и www, пример: server1.site.com
    Это по желанию и можно не менять.
  • Самое интересное, это часть "PARTITIONS / FILESYSTEMS", её разберем отдельно.

По-умолчанию в "PARTITIONS / FILESYSTEMS" указано что диск будет разбиваться на две части: 1TB + 2TB. Почему так сделано, можете прочитать на русском тут: Partitionsgrößenlimit bei großen Festplatten. Если вкратце, то это надо для поддержки старых образов, которые не умеют работать с 2+TB дисками из-за ограничения таблиц разделов. Так вот, по-умолчанию, конфигурация такая:

PART swap swap 16G
PART /boot ext3 512M
PART / ext4 1024G
PART /home ext4 all

мы её просто модифицируем вот так, т.к. под основной раздел отдаем все место, а /home просто убираем:

PART swap swap 16G
PART /boot ext3 512M
PART / ext4 all

При необходимости, тут же можно увеличить размер свапа. Если Вы не знаете зачем Вам это, то оставьте значение по-умолчанию, в 90% случаях Вам его будет предостаточно. Ну, а если Вы знаете, что будете запускать задачи, которые могут сильно превысить объем ОЗУ, тогда лучше заранее об этом позаботиться.

Итак когда все изменения внесли, нажимаем F2 и сохраняем конфигурацию:

Созранение конфигурации

После сохранения, нажимаем F10, чтобы выйти из редактора.

Следующим шагом нас предупредят, что разделы будут удалены, и все данные потеряются.

Так как люди по своей натуре идиоты искатели приключений, еще раз напишу: ВСЕ ДАННЫЕ УДАЛЯТСЯ. Если Вы делаете эту операцию не на только что зарегистрированном сервере, а на том, на котором работают ваши сайты, самое время прервать операцию и сделать бэкапы.

Подтверждение удаления разделов

Дальше программа начнет установку:

Установка CentOS из образа

останется дождаться завершения.

Спустя какое-то время, Вы увидите что установка завершена:

Установка завершена

Тут важно прочитать последние два предложения, в которых говорится, что:

  • нужно перезагрузиться
  • после перезагрузки, ваш root пароль будет такой же как Вы использовали для входа в rescue систему. Т.е. тот что я просил Вас скопировать/записать.

Теперь перезагружаемся, вводим команду reboot:

Перезагрузка

Ждем какое-то время перезагрузки и логинимся опять, на этот раз попадаем в свеженькую версию CentOS.

Проверяем разбивку диска командой: df -h , должны получить что-то подобное:

Размер основного раздела 2.7 TB

На этом, пожалуй всё, дальше приступим к установке ISP Manager 5: Установка ISP Manager 5 в CentOS на сервер Hetzner-а

Ссылки на полезные материалы:

--[дополнено]--

Тут я добалю небольшую заметку, для тех у кого будет на сервере больше чем 1 ip. Рассмотрим добавление дополнительных ip адресов, например, добавления 1го нового адреса. Если у Вас больше двух, то добавление остальных делается точно так же.

  • Создаем новый интерфейс на этой же сетевой карте, для этого создаем файл:
    nano /etc/sysconfig/network-scripts/ifcfg-eth0:0

    ** если это второй и третий ip, то имя файла будет соответственно ifcfg-eth0:1, ifcfg-eth0:2 и т.д.

  • Добавляем туда такой текст:
    DEVICE=eth0:0
    IPADDR=ДОПОЛНИТЕЛЬНЫЙ-IP
    NETMASK=255.255.255.255
    BOOTPROTO=static
    ONBOOT=yes

    ** если это второй и третий ip, то DEVICE будет соответственно eth0:1, eth0:2 и т.д.

  • Перезагружаемся
  • Для проверки используем ifconfig (если отсутсвует, ставим командой yum install net-tools):
    ifconfig -a

    В результате Вы должны увидеть дополнительный ip:

    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet ***.*.***.**  netmask 255.255.255.255  broadcast ***.*.***.**
            ether **:**:**:**:**:**  txqueuelen 1000  (Ethernet)
            RX packets 13768  bytes 7961326 (7.5 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 9051  bytes 5603478 (5.3 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet ***.*.***.***  netmask 255.255.255.248  broadcast ***.*.***.**
            ether **:**:**:**:**:**  txqueuelen 1000  (Ethernet)
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 0  (Local Loopback)
            RX packets 184  bytes 17979 (17.5 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 184  bytes 17979 (17.5 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

     

Если что-то не получается, то дополнительно можете почитать про это тут:

 

 

Тэги: centosHDDhetzner

Комментарии (2)

  • PART swap swap 16G
    PART /boot ext3 512M
    PART / ext4 1024G
    PART /home ext4 all

    Автор разбивает диск на 3Тб след образом:
    1Тб для ispmanager 5 (/) и 2 Тб для личного мусора (/home),
    Не понятно, зачем на сервере выделять 2Тб для мусора.
    файлы пользователей и их базы данных хранятся в директории /var для справки

    Более правильная разбивка будет выглядеть вот так:
    PART swap swap 32G
    PART /boot ext3 1024M
    PART / ext4 all

    PART swap swap 32G - временные файлы системы, пользователей, временные файлы бекапов.
    после создания бекапа, резервная копия заливается на удаленный сервер и удаляется с (swap).
    В случае бекапа файлов пользователя размером более 32ГВ - зависает служба резервного копирования.
    Если аккаунты с мах размером в 100Гб создаем swap 101Gb и т.д. по аналогии.

    PART /boot ext3 1024M - без резерва будет ооооочень много головняка в дальнейшем.

    PART / ext4 all - под сервер выделяем все имеющееся дисковое пространство,
    под мусор (/home) дисковое пространство не выделяем вовсе.
    с такой разбивкой (/home) будет сходить в root директорию (/) без резерва под мусор дискового пространства.

    • Ты написал коммент, не прочитав статьи, в которой написано, что используется конфигурация:

      PART swap swap 16G
      PART /boot ext3 512M
      PART / ext4 all

      на скрине в конце статьи видно, что раздел /dev/md2 равен 2.6 Тб из 3 и смонтирован в корень.