Добавляем новый диск к виртуальной машине VMware. ОС — Ubuntu Server.
Первым делом выключаем виртуалку и добавляем в vCenter новый диск:
В нашем случае у виртуалки был системный диск размером 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. Теперь при загрузке он будет монтироваться автоматически.