Создание Home раздела
Ну и создадим последний раздел. В этом разделе будут хранится все ваши данные которые вы например скачаете из интернета. Да и другие файлы, например настройки ваше системе в скрытых папках. И так, переходим к его созданию. Все то же самое, нажимаете на “Свободное место” и за тем кнопку продолжить:
После чего создаете новый раздел. И отводите под него как можно больше свободного места на диске. Можно под него отдать все оставшееся место.
Указываете файловую систему ext4 или иную, например btrfs в поле “Использовать как”. А в поле “Точка монтирования” выставляете “/home”. После чего нажимаете продолжить:
Конечными штрихами будет указать пункт “Настройка раздела закончена. Далее опять нажимаем продолжить. После чего указываем пункт “Закончить разметку и записать изменения на диск” и нажимаем продолжить:
Что нам даст подобная разметка? Ну, первое, и самое важное, это то что наши данные будут находится в отдельном разделе. Этот вариант разметки считается классическим
Чем мне еще нравится установщик Debian, так это тем что в нем есть автоматическая разбивка диска. В ней можно выбрать несколько вариантов как можно разметить область на нашем диске. Это пожалуй сократит время на разметку диска, но все же важно уметь самому разбивать жесткий диск так, как вам это нужно. На нашем канале youtube так же будет выложена видео версия данной статьи.
А на этом сегодня все. Надеюсь данная статья будет вам полезна.С уважением Cyber-X
Разметка жесткого диска
Тема разметки диска раньше была достаточно спорной и вызывала много дискуссий и споров. Делали отдельно разделы под корень /, домашнюю директорию /home, под логи /var/logs и т.д. Мне кажется, что сейчас все это стало неактуально. Сервера общего назначения переехали в виртуальные среды, а там можно и дополнительный диск выделить под образовавшиеся нужды, либо увеличить текущий. Нет необходимости заранее продумывать на много шагов вперед, можно без проблем потом добавить дисковое пространство.
Если же вы настраиваете железный сервер, то скорее всего четко знаете для чего он нужен и разбиваете уже в зависимости от его прямого назначения. Я сам лично, если нет каких-то особых требований к серверу, создаю только один общий раздел / на lvm.
Далее нужно выбрать жесткий диск, на который будет установлена система. Если у вас он только один, как у меня, то выбирать не из чего. Дальше выбираем схему разбивки диска. Как я уже сказал ранее, все будет храниться в одном корневом разделе, так что выбираем All files in one partition.
Затем вас спросят, записать ли изменения — соглашайтесь. Далее надо указать размер группы томов LVM. По-умолчанию указан весь размер диска, можно с этим согласиться. Далее увидите окончательный вариант разбивки диска.
В принципе, можно с ним согласиться. Но лично мне не нравится swap на отдельном lvm томе. Я люблю хранить swap в файле прямо на файловой системе
Теоретически, это чуть медленнее, чем отдельный раздел, но практически это не важно. В современных серверах swap редко используется, нужен больше для стабильности работы системы, нежели для скорости
Со swap в отдельном разделе не получится гибко работать, как с обычным файлом. Я на серверах ставлю минимальный размер свопа в 1 Гб, увеличиваю по мере необходимости. Когда своп это обычный файл, с этим нет проблем.
Так что изменения не записываем, выбираем No. Вы попадаете в раздел управления разметкой диска. Необходимо удалить LV раздел под swap, затем удалить LV раздел root и создать его заново максимального размера. Потом на нем же еще раз создать корневую систему в точке монтирования /. Должно получиться вот так.
В принципе, раздел /boot тоже можно было бы разместить в корне, но в целом можно оставить и так. Я сталкивался с неожиданными проблемами, когда /boot раздел был на lvm. Так что не буду вам рекомендовать его куда-то переносить.
Когда будете соглашаться с новой разметкой, получите предупреждение, что забыли про swap
Не обращайте на него внимание. Дальше пойдет непосредственно установка Debian 10 в виде копирования системных файлов на диск
На следующем этапе установки системы, вам будет задан вопрос по поводу дополнительного диска с пакетами. Вам будет предложено проверить другой диск для установки дополнительных пакетов. Отказываемся и идем дальше. Теперь нужно выбрать зеркало, с которым будет работать пакетный менеджер apt. Выбираем свою страну и подходящее зеркало. Я выбираю Russian Federation и зеркало mirror.corbina.net. Раньше всегда выбирал зеркало Яндекса, но в Debian 10 его почему-то нет для выбора.
Далее нас просят указать прокси. Скорее всего вы им не пользуетесь, поэтому строку можно оставить пустой. Если это не так, то укажите адрес proxy сервера. На следующем этапе установки debian 10 вопрос о том, хотим ли мы делиться анонимной статистической информацией об использовании различного ПО на сервере. Я обычно не делюсь.
Дальше выбираем набор дополнительного ПО, которое будет установлено на сервер debian 10 вместе с основной системой. Я никогда не ставлю ничего, кроме ssh сервера и системных утилит.
Все остальное можно установить потом. На последнем этапе установки нас спрашивают про загрузчик grub — установить ли нам его. В подавляющем большинстве случаев это нужно сделать. Если вы не знаете, нужно или нет, значит 100% нужно. Без загрузчика можно обойтись в очень специфических ситуациях, которые мы рассматривать не будем в этой инструкции по установке debian. Так что устанавливаем grub на единственных жесткий диск.
Перезагружаем сервер. Установка завершена, он полностью готов к работе. Не забывайте, что по-умолчанию, на сервер нужно подключаться под учетной записью обычного пользователя, не root. После установки системы, предлагаю выполнить предварительную настройку сервера.
Создание LVM Linux
Структура LVM состоит из трех слоев:
- Физический том (один или несколько), Physical Volume (PV)
- Группа физических томов, Volume Group (VG)
- Логический том, который и будет доступен программам, Logical Volume (LV)
Перед тем как начинать создание lvm linux необходимо установить нужные для этого инструменты:
Соответственно структуре LVM, нам нужно будет инициализировать физические разделы для LVM, объединить их в группу, а затем создать из этой группы нужные нам логические тома.
Инициализация физических LVM разделов
Сначала определимся с томами, которые будем использовать, допустим это будут /dev/sda6 и /dev/sda7. Инициализировать их для работы LVM можно с помощью команды pvcreate:
Чтобы посмотреть действительно ли были созданы физические тома LVM вы можете использовать команду pvcsan:
Также можно посмотреть физические LVM разделы с более подробными атрибутами, такими как размер, общий размер, физический размер, свободное место и т д:
Здесь PE Size — это размер одного блока LVM, по умолчанию он равен четырем мегабайтам, но это значение можно изменить.
Создание группы разделов LVM
Группа томов — это не что иное, как пул памяти, который будет распределен между логическими томами и может состоять из нескольких физических разделов. После того как физические разделы инициализированы, вы можете создать из них группу томов (Volume Group, VG):
С помощью LVM команды vgdisplay вы можете посмотреть созданные группы томов:
Создание логических томов LVM
Теперь все готово, чтобы создать логические LVM разделы. Для этого будем использовать команду lvcreate и создадим логический раздел размером 80 мегабайт, или 20 блоков LVM:
Если вы хотите задать размер в обычных единицах измерения, то необходимо использовать опцию -L. Например, для тех же 80-ти мегабайт:
В качестве приставки для указания размера можно использовать такие буквы:
- B — байты;
- K — килобайты;
- M — мегабайты;
- G — гигабайты;
- T — терабайты.
Посмотреть список доступных логических разделов LVM можно по аналогии с предыдущими разделами с помощью команды lvdisplay:
Теперь, когда раздел создан, мы можем работать с ним как с обычным разделом. Например, отформатируем его в файловую систему ext4, а затем примонтируем в /mnt:
Как видите, монтирование LVM в Linux ничем не отличается от монтирования обычных разделов.
Вообще говоря, LVM разделы могут быть трех типов:
- Линейные разделы (Linear Volume)
- Полосные разделы (Striped Volume)
- Зеркалированные разделы (Mirrored Volume)
Линейные разделы — это обычные LVM тома, они могут быть созданы как их одного, так и нескольких физических дисков. Например, если у вас есть два диска по 2 гигабайта, то вы можете их объединить и в результате получите один раздел LVM Linux, размером 4 гигабайта. По умолчанию используются именно линейные LVM разделы.
Полосные разделы очень полезны при больших нагрузках на жесткий диск. Здесь вы можете настроить одновременную запись на разные физические устройства, для одновременных операций, это может очень сильно увеличить производительность работы системы.
Для этого нужно задать количество полос записи с помощью опции -i, а также размер полосы опцией -l. Количество полос не должно превышать количества физических дисков. Например:
Зеркалированный том позволяет записывать данные одновременно на два устройства. Когда данные пишутся на один диск, они сразу же копируются на другой. Это позволяет защититься от сбоев одного из дисков. Если один из дисков испортится, то разделы LVM просто станут линейными и все данные по-прежнему будут доступны. Для создания такого раздела LVM Linux можно использовать команду:
Удалить LVM раздел
Вы можете не только настроить LVM тома изменяя их размер и атрибуты, но и удалить LVM раздел, если он вам больше не нужен. Это делается с помощью LVM команды lvremove:
Теперь лишний раздел удален.
Изменение размера LVM тома
Вы можете изменять уже созданные разделы LVM увеличивая или уменьшая их размер
Причем неважно есть ли место на физическом диске после этого раздела, если в пуле есть память, вы можете ее использовать для любого раздела. Чтобы изменить размер LVM используйте команду lvextend
Например, LVM увеличим размер диска из 80 до 100 мегабайт:
Также вы можете увеличить размер LVM, использовав знак +:
Точно так же можно выполнить уменьшение LVM раздела с помощью знака -.
Дополнительные утилиты
Все описанные ниже утилиты не входят в стандартную конфигурацию Debian, придется из ставить отдельно.
htop
Более сильная замена штатной утилиты top. В стандартной конфигурации с системой не поставляется. Предоставляет удобный интерактивный интерфейс со встроенной справкой и обновлением данных в реальном времени.
root@debian7:~# htop -d 10
Ключ -d выставляет значение в десятых долях секунды для обновления данных. Ключ -c переключает программу в монохромный режим работы.
lshw
Утилита предназначена для вывода подробной информации об аппаратном обеспечении. Наиболее удобно экспортировать данные в .html-вид и просматривать в браузере. Такой способ, конечно же, исключается при работе в консольном режиме, разве что если просматривать данные на другой системе.
root@debian7:~# lshw -C network
Команда выведет данные только о сетевой плате.
smartmontools
Пакет состоит из двух утилит (smartctl и smartd), которые следят за S.M.A.R.T-показателями жестких дисков. Для запуска демона необходимо произвести ряд настроек:
Раскомментировать строки и в скобках указать через пробел все устройства, на которых необходимо отслеживать состояние.
enable_smart=»/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde» start_smartd=yes smartd_opts=»—interval=1800″
Однако при запуске службы на виртуальной машине с Debian 7.7 у меня выдал ошибку (надо сказать, что отслеживание S.M.A.R.T на виртуальных жестких дисках достаточно бредовая идея, я это сделал лишь с целью протестировать):
Просмотреть состояние диска можно командой:
root@debian7:~# smartctl -a /dev/sda
hdparm
Главное предназначение программы — тонкая настройка параметров IDE/SATA жестких дисков, тюнинг производительности. Помимо этого также можно просматривать характеристики устройств командой (укажите свой диск):
root@debian7:~# hdparm -i /dev/sda
Вопросы настройки дисков в рамках этой статьи рассматривать не планируется.
ethtool
Произвести диагностику сетевой платы вам поможет утилита ethtool. Конечно вытянуть информацию можно и с помощью ifconfig, и dmesg и др., но несравнимо больше полезных данных вы получите именно от ethtool. Надо отметить, что с виртуальными сетевыми интерфейсами программа работает достаточно криво. Например отображение статистики по интерфейсу у меня вообще было пустое:
root@debian7:~# ethtool -S eth0no stats available
Общая информация об интерфейсе была примерно настолько же скудной:
root@debian7:~# ethtool eth0Settings for eth0: Link detected: yes
С физическими интерфейсами ситуация обстоит значительно лучше. Помимо диагностики, утилита также предназначена для настройки интерфейсов.
sysstat
Пакет содержит в себе ряд утилит, способных выдавать информацию о производительности тех или иных компонентов системы. Особо полезным может быть iostat, когда нужно проанализировать загрузку жестких дисков в срезе операций ввода/вывода.
Я перечислил далеко не все основные инструменты, знакомство с которыми так необходимо, но по мере возможности собираюсь дополнять статью необходимым материалом.
Notes:
- Package: dmidecode (2.12-4)
- Контролируем SMART HDD, с отчетом на e-mail. На примере FreeBSD и Debian/Ubuntu.
- Мониторинг SMART на Centos и Debian
comments powered by HyperComments
Монтирование дисков
Подготовка
Нужно создать папку к которой примонтируется диск. Например, для диска
/mnt/w7free
mkdir /mnt/w7free
Или для флешки
mkdir /mnt/flashcard
Шаг 1.
Перед тем как монтировать диск нужо сначала понять какие диски подключены к компьютеру.
Есть несколько способов сделать это: lsblk, ls/dev/sd*, fdisk -l и другие
Получить список всех устройств, включая не примонтированные
lsblk | grep sd
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 461.4G 0 part /
└─sda3 8:3 0 3.9G 0 part
sdb 8:0 0 100.0G 0 disk
└─sdb1 8:1 0 512M 0 part /home
Реальные физические диски получают буквы a,
b и так далее. То есть sda это первый диск, sdb — второй и так далее.
Виртуальные разделы получают цифры. Диск sda поделен на три части а sdb состоит целиком из sdb1
Следующие два способа я делал на другом компьютере.
Второй способ — ls/dev/sd*
ls /dev/sd*
/dev/sda /dev/sda2 /dev/sda5 /dev/sdb1 /dev/sdb5 /dev/sdb7
/dev/sda1 /dev/sda3 /dev/sdb /dev/sdb2 /dev/sdb6 /dev/sdb8
Третий способ — fdisk -l, возможно нужно ввести sudo fdisk -l
debian:/home/andrey# fdisk -l
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x63e54f64
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sda2 206848 100558847 50176000 7 HPFS/NTFS/exFAT
/dev/sda3 100558848 1953521663 926481408 f W95 Ext’d (LBA)
/dev/sda5 100560896 1953521663 926480384 7 HPFS/NTFS/exFAT
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbbc1fe9a
Device Boot Start End Blocks Id System
/dev/sdb1 * 63 41785064 20892501 83 Linux
/dev/sdb2 41785126 976768064 467491469+ f W95 Ext’d (LBA)
/dev/sdb5 41785128 54283634 6249253+ 82 Linux swap / Solaris
/dev/sdb6 54283698 521887589 233801946 83 Linux
/dev/sdb7 521887653 585826289 31969318+ b W95 FAT32
/dev/sdb8 585826353 976768064 195470856 7 HPFS/NTFS/exFAT
Из этих данных можно сделать вывод о том, что физически жестких дисков видно два: sda и sdb, один из них на 1 Тб а другой
на 500 Гб. Предположим, что примонтировать нужно диск sda5 — можно
Шаг 3 (для флэш карты)
Снова используем команду
ls /dev/sd*
или
fdisk -l
Все новое по сравнению с предыдущим разом и есть ваша флешка. Причем, если появилось, например,
sdb и sdb1, то sdb — это флешка в целом (не знаю как это понять), а sdb1
— обычно и есть раздел, который нужно будет монтировать.
Шаг 4
Монтирование образа.
Само слово «монтирование» может смутить начинающего пользователя. Смысл всей манипуляции —
показать системе как связать какой-то из видимых дисков с какой-то папкой.
mount /dev/sda5 /mnt/w7free
Для флэшкарты
Предположим, что новый диск который мы нашли в Шаге 3. называется
sdс1
mount /dev/sdс1 /mnt/flashcard
Если нужно указать файловую систему, то пишем, например
mount -t vfat /dev/sdb /mnt/flashcard
где vfat — это указание файловой системы (fat),
-t это от слова type тип.
Установка Debian 10 Buster
К установке системы Debian 10 у нас все готово. Вставляйте флешку в сервер, если будете ставить на голое железо, либо подключайте iso образ к виртуальной машине и приступайте. Нас встречает традиционное первоначальное меню загрузочного образа.
Я лично предпочитаю использовать консольный (Install), а не графический (Graphical Install) установщик. У меня в нем быстрее получается выбирать необходимые разделы. В целом, это вопрос личных предпочтений. Все этапы установки и варианты выбора настроек идентичны при любом способе. Я продолжаю в консольном.
Не буду приводить скриншоты всех этапов установки Debian 10. Не вижу в этом смысла. Там все достаточно очевидно. Буду останавливаться только на ключевых моментах и давать советы. Итак, после запуска установки системы, вам предложат выбрать язык. На серверах я всегда выбираю английский язык и английскую раскладку. Не вижу тут никаких альтернатив. Язык современной техносферы — английский и глупо идти поперек. Если вам понадобятся другие языки, то можете их настроить потом, по мере работы с системой.
После выбора языка необходимо выбрать географическое расположение. На этом этапе я всегда задумываюсь, по какому принципу группируются возможные варианты.
На первом экране представлены такие популярные и известные страны, как Замбия, Нигерия, Филлипины, Зимбабве, Ботсвана, но пропущены почти все (или все?) европейские страны. Для того, чтобы выбрать Россию, нужно пройти в other, выбрать Europe, а потом уже Russian Federation. Может быть такая группировка не случайна и есть какая-то байка на этот счет. Если кто-то в курсе, прошу поделиться.
После выбора страны нам предлагают указать кодировку и раскладку клавиатуры. Я всегда выбираю en_US.UTF-8 и American English. Если понадобится дополнительный язык, его всегда можно добавить позже. Далее необходимо подождать некоторое время, пока установщик не подгрузит следующие компоненты, необходимые для установки дебиан. После этого он попытается настроить сеть. Если у вас все в порядке с сетевой картой, и в сети работает dhcp-сервер, на моменте настройки сети не будет остановки, и она пройдет без каких-либо ваших действий. Если же у вас нет dhcp-сервера, то вам будет предложено вручную указать все сетевые параметры:
- ip адрес
- маску сети
- ip шлюза и dns сервера
После сетевых параметров нас попросят указать имя сервера и его домен. Можете указывать что угодно. Если у вас нет никакого домена, можете оставить поле пустым, либо указать домен local.
Далее надо задать пароль root, потом создать обычного пользователя с произвольным именем и указать пароль к нему. По-умолчанию, после установки, войти удаленно по ssh пользователем root на сервер невозможно. Для этого нужно использовать учетную запись обычного пользователя и через него выполнять административные действия. Поэтому при установке debian нужно обязательно создать обычного пользователя.
После создания паролей и пользователя, выбираем часовой пояс. На следующем этапе установки переходим к разметки диска. Это важный момент, поэтому рассмотрим его отдельно.
Подключить сетевой диск
Расскажу, как быстро выполнить монтирование наиболее популярных сетевых дисков:
- по smb
- по nfs
В общем случае, подключить сетевой диск по smb можно следующей командой.
# mount -t cifs //10.1.4.4/backup /mnt/backup -o user=admin,password=passadmin
10.1.4.4/backup | сетевая шара |
/mnt/backup | локальная директория, куда монтируем сетевой диск |
admin | пользователь |
passadmin | пароль |
Если команда не отработает и будет ошибка, установите отдельно cifs-utils.
# apt install cifs-utils
С монтированием по smb есть куча нюансов. Сколько различных ошибок я ловил при этом — не счесть. То кодировка не совпадает, то в пароле спец. символы, то шара в домене и надо правильно указать домен. Если в пароле есть спец. символы, пароль можно взять в одинарные кавычки. Домен можно указать через слеш, через плюс, через @. Пробуйте разные варианты, если не получается. Так же имя пользователя с доменом можно тоже брать в кавычки, иногда помогает. Например, вот так — ‘domain\admin’
Так же обращайте внимание на версию протокола smb. Ее можно принудительно указывать через опцию vers
Так же можно вывести более подробный лог подключения.
# mount -t cifs -vvv //10.1.4.4/backup /mnt/backup -o vers=2.1,user=admin,password=passadmin
Для подключения сетевого диска по nfs, необходимо установить на машину nfs-client, который находится в пакете nfs-common.
# apt install nfs-common
После этого можете подключить сетевую папку по nfs:
# mount -t nfs 10.1.4.4:/backup /mnt/backup
С nfs, так же как и с cifs, можно вывести расширенный лог и принудительно указать версию.
# mount -t nfs -vvv -overs=2 10.1.4.4:/backup /mnt/backup
Перед подключением диска можете проверить, а если вам вообще доступ к сетевому диску на сервере:
# showmount --exports 10.1.4.4
Вы должны увидеть список nfs дисков, к которым у вас есть доступ. Если список пуст, подмонтировать ничего не получится.
Создание диска из оперативной памяти (озу)
Расскажу об еще одной интересной возможности при работе с дисками — создание диска из оперативной памяти. Зачем это может пригодится на практике, я не знаю. Сам использовал только из любопытства для тестов. В проде лично я не вижу применения. Linux обычно и так использует всю доступную оперативную память и кэширует файловые операции. Так что большой необходимости в дисках в оперативной памяти я не вижу. Но может вы найдете реальное применение.
Создаем диск из оперативной памяти размером в 5 Гб и монтируем его в /mnt/tmpfs.
# mkdir /mnt/tmpfs/ # mount -t tmpfs -o size=5000M tmpfs /mnt/tmpfs/
Смотрим, что получилось.
# df -h
Я создал диск в оперативной памяти размером 5 Гб. Проверим его скорость записи.
# # sync; dd if=/dev/zero of=/mnt/tmpfs/tempfile bs=1M count=3000; sync 3000+0 records in 3000+0 records out 3145728000 bytes (3.1 GB, 2.9 GiB) copied, 1.11855 s, 2.8 GB/s
На практике я все это не проверял. Есть какой-то прирост к отклику сайта или нет, если его кэш поместить на такой диск. Было бы любопытно проверить, но как-то все времени не хватает. Может кто-то проверит и поделится результатом. Так же такой диск можно использовать под какую-нибудь тестовую базу данных для ускорения обработки запросов. Можно, конечно, заморочиться и настроить нормально кэши самой базы. Но если файлы базы просто поместить на диск в оперативной памяти, то прирост очевидный будет сразу же, без всяких настроек.
Обращаю внимание на важный нюанс. Следите за заполнением диска из памяти
Если вы израсходуете всю доступную память и начнет работать swap, вы получите сильные тормоза в системе.