Перейти к основному содержанию

VMware — подключение нового диска в Ubuntu

Ubuntu

Добавляем новый диск к виртуальной машине VMware. ОС — Ubuntu Server.

Первым делом выключаем виртуалку и добавляем в vCenter новый диск:

new disk

В нашем случае у виртуалки был системный диск размером 16 GB, добавляем новый 50 GB.

При добавлении диска можно не только выбрать размер диска, но и тип "Disk Provisioning". Не буду подробно описывать их особенности, расскажу вкратце. Есть три варианта:

  • Thick provision lazy zeroed - толстый ленивый (по умолчанию). При создании занимает выделенный объём, но нулями не заполняет сразу, а по мере записи. Быстро создаёт большие винты, но потом тратит ресурсы на заполнение блоков нулями. При долгой работе в итоге превращается в жадный.
  • Thick provision eager zeroed - толстый жадный. При создании заполняет выделенный объём нулями. Долго создаёт большие винты, зато потом летает.
  • Thin provision - тонкий. Быстро создаётся, не занимает места на диске. По мере наполнения - отжирает винт пока не заполнит весь выделенный для него объём. На это тратятся некоторые ресурсы. Опасен тем, что в один прекрасный момент места может не хватить, тогда с фризом нужно будет бороться танцами и бубном.

Винт создали, включаем машину и дальше работаем в консоли.

Посмотрим состояние партиций на диске:

fdisk -l

Вывод:

root@mfms00:~# fdisk -l

Диск /dev/sda: 17.2 Гб, 17179869184 байт
255 головок, 63 секторов/треков, 2088 цилиндров, всего 33554432 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x000e98f0

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *        2048      188415       93184   82  Linux своп / Solaris
/dev/sda2          190462    33552383    16680961    5  Расширенный
/dev/sda5          190464    33552383    16680960   83  Linux

Диск /dev/sdb: 53.7 Гб, 53687091200 байт
255 головок, 63 секторов/треков, 6527 цилиндров, всего 104857600 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x00000000

На диске /dev/sdb отсутствует верная таблица разделов

Видим новый винт /dev/sdb. Строке 53.7 Гб не верим, потому как это округление от байтов. Если перевести 53687091200 байт в гигабайты, то получим ровно 50. Занимаемся разметкой жесткого диска:

fdisk /dev/sdb

Вывод:

root@mfms00:~# fdisk /dev/sdb
Устройство не содержит ни верной таблицы разделов DOS, ни метки диска Sun, SGI или OSF
Building a new DOS disklabel with disk identifier 0x4ae0d83f.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Предупреждение: неверный флаг 0x0000 таблицы разделов 4 будет исправлен записью

Команда (m для справки):

Вводим "m" для справки:

Команда (m для справки): m
Действие команды
   a   переключение флага загрузки
   b   редактирование метки диска bsd
   c   переключение флага dos-совместимости
   d   удаление раздела
   l   список известных типов файловых систем
   m   вывод этого меню
   n   добавление нового раздела
   o   создание новой пустой таблицы разделов DOS
   p   вывод таблицы разделов
   q   выход без сохранения изменений
   s   создание новой чистой метки диска Sun
   t   изменение id системы раздела
   u   изменение единиц измерения экрана/содержимого
   v   проверка таблицы разделов
   w   запись таблицы разделов на диск и выход
   x   дополнительная функциональность (только для экспертов)

Команда (m для справки):

Создаём новый раздел "n":

Команда (m для справки): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   расширенный
Select (default p):

Создаём основной раздел "p" или просто жмём enter:

Select (default p):
Using default response p
Номер раздела (1-4, по умолчанию 1):

Выбираем номер раздела "1" или просто жмём enter:

Номер раздела (1-4, по умолчанию 1):
Используется значение по умолчанию 1
Первый сектор (2048-104857599, по умолчанию 2048):

Оставляем первый сектор по умолчанию, enter:

Первый сектор (2048-104857599, по умолчанию 2048):
Используется значение по умолчанию 2048
Last сектор, +секторы or +size{K,M,G} (2048-104857599, по умолчанию 104857599):

Оставляем последний сектор по умолчанию, enter:

Last сектор, +секторы or +size{K,M,G} (2048-104857599, по умолчанию 104857599):
Используется значение по умолчанию 104857599

Команда (m для справки):

Выведем таблицу разделов:

Команда (m для справки): p

Диск /dev/sdb: 53.7 Гб, 53687091200 байт
255 головок, 63 секторов/треков, 6527 цилиндров, всего 104857600 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x4ae0d83f

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1            2048   104857599    52427776   83  Linux

Команда (m для справки):

Видим, что появился новый раздел /dev/sdb1. Делаем запись таблицы разделов на диск "w":

Команда (m для справки): w
Таблица разделов была изменена!

Вызывается ioctl() для перечитывания таблицы разделов.
Синхронизируются диски.

Посмотрим состояние партиций на диске:

fdisk -l

Вывод:

root@mfms00:~# fdisk -l

Диск /dev/sda: 17.2 Гб, 17179869184 байт
255 головок, 63 секторов/треков, 2088 цилиндров, всего 33554432 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x000e98f0

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *        2048      188415       93184   82  Linux своп / Solaris
/dev/sda2          190462    33552383    16680961    5  Расширенный
/dev/sda5          190464    33552383    16680960   83  Linux

Диск /dev/sdb: 53.7 Гб, 53687091200 байт
22 головок, 22 секторов/треков, 216647 цилиндров, всего 104857600 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x4ae0d83f

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1            2048   104857599    52427776   83  Linux

Теперь нужно создать файловую систему. Форматируем новый диск с помощью команды mkfs.ext4:

mkfs.ext4 -m 0 /dev/sdb1

В данном случае параметр "-m 0" отвечает за процент резервных блоков. Дефолтные 5% меня не устраивают, супер-юзер обойдётся, винты дорогие, экономим место.

-m reserved-blocks-percentage
Specify  the  percentage of the filesystem blocks reserved for the super-user.  This avoids fragmentation, and allows root-owned daemons, such as syslogd(8), to continue to function correctly after non-privileged processes are prevented from writing to the filesystem.  The default percentage is 5%.

Вывод:

root@mfms00:~# mkfs.ext4 -m 0 /dev/sdb1
mke2fs 1.42.9 (4-Feb-2014)
Метка файловой системы=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3276800 inodes, 13106944 blocks
0 blocks (0.00%) reserved for the super user
Первый блок данных=0
Maximum filesystem blocks=4294967296
400 block groups
32768 blocks per group, 32768 fragments per group
8192 inod'ов в группе
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424

Allocating group tables: done
Сохранение таблицы inod'ов: done
Creating journal (32768 blocks): готово
Writing superblocks and filesystem accounting information: готово

Получаем идентификатор раздела:

blkid /dev/sdb1

Вывод:

root@mfms00:~# blkid /dev/sdb1
/dev/sdb1: UUID="aeee1e55-2773-4ef8-b698-18e933819552" TYPE="ext4"

Полученный UUID понадобится для монтирования диска в папку. Здесь же можно посмотреть тип файловой системы. Создаём папку, в которую будем монтировать диск, в моём случае "opt":

root@mfms00:/# cd /
root@mfms00:/# mkdir opt
root@mfms00:/# ll | grep opt/
drwxr-x---   2 root root  4096 мая    8 11:03 opt/

Далее редактируем файл "/etc/fstab", дописываем строку:

UUID=aeee1e55-2773-4ef8-b698-18e933819552 /opt      ext4     defaults               0 0

Где UUID нами получен ранее. Монтируем:

mount -a

Проверяем:

df -h

Вывод:

root@mfms00:~# df -h
Файл.система   Размер Использовано  Дост Использовано% Cмонтировано в
udev             3,0G         8,0K  3,0G            1% /dev
tmpfs            597M         688K  597M            1% /run
/dev/sda5         16G         9,7G  5,1G           66% /
none             4,0K            0  4,0K            0% /sys/fs/cgroup
none             5,0M            0  5,0M            0% /run/lock
none             3,0G          12K  3,0G            1% /run/shm
none             100M            0  100M            0% /run/user
/dev/sdb1         50G          52M   50G            1% /opt

Видим, что диск /dev/sdb1 смонтирован в opt. Теперь при загрузке он будет монтироваться автоматически.

 

Похожие материалы

Уменьшение виртуального диска с LVM

У нас есть виртуальная машина, на ней есть диск. Диск большой, данных мало. Наша задача - сделать диск меньшего размера. На борту Logical Volume Manager (LVM). Gparted не умеет переносить данные на LVM разделах. Будем делать всё руками.

VMware — просадка производительности Linux на 70% после патча от Retbleed

Специалисты VMware опубликовали интересную статью. Если на хосте VMware ESXi на виртуальную машину Linux с ядром 5.18 накатить патч до версии 5.19, устраняющий уязвимость Retbleed, то производительность виртуальной машины просядет.