Добавление дисков с помощью LVM


26

Я уверен , что это был дан ответ где - то здесь , прежде чем (я даже нашел любопытное руководство здесь , но , казалось, немного пятнистая и неполные) , но мне было интересно , если кто - то может помочь мне или , по крайней мере мне точку в правильном направлении к получить то, что я пытаюсь сделать, выполнено.

По сути, я установил Ubuntu 14.04 (через «Руководствуясь - используйте весь диск и настройте LVM») на диске 20 ГБ. Затем я физически добавил чистый 80-Гбайт диск к машине, который он определяет как «sdb».

По сути, мой вопрос заключается в том, что я хочу добавить / объединить выделенный объем пространства от нового диска (80 ГБ) до моей машины, чтобы вместо отображения двух дисков (20 ГБ и 80 ГБ) он просто отображал один диск (100 ГБ) , Я не беспокоюсь о RAID или любых других специальных дополнениях.

Я немного новичок в Linux, но понимаю, что для этого мне нужно использовать LVM.

Если есть кто-нибудь, кто может помочь мне или связать меня с полезным руководством / учебником, это будет очень цениться! Не уверен, что это необходимо, но вот мой вывод 'fdisk -l' и '/ etc / fstab':

Вывод fdisk (сокращенный):

Disk /dev/sda: 21.5 GB, 21474836480 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1    *       2048      499711      248832   83  Linux
/dev/sda2          501758    41940991    20719617    5  Extended
/dev/sda5          501760    41940991    20719616   8e  Linux LVM

Disk /dev/sdb: 85.9 GB, 85899345920 bytes
Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/mapper/ubuntu--vg-root: 20.4 GB, 20392706048 bytes
Disk /dev/mapper/ubuntu--vg-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu--vg-swap_1: 801 MB, 801112064 bytes
Disk /dev/mapper/ubuntu--vg-swap_1 doesn't contain a valid partition table

/ etc / fstab (сокращенно):

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu--vg-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=26710773-7a64-4f34-a34e-0057cb1739d7 /boot           ext2    defaults        0       2
/dev/mapper/ubuntu--vg-swap_1 none            swap    sw              0       0

Ответы:


53

Изучив несколько случайных руководств и учебных пособий в сети, я смог успешно добавить диск на свой компьютер с Ubuntu Server 14.04 и, по сути, настроить его так, чтобы у меня было несколько жестких дисков в виде одного диска. Для этого я использовал LVM.

Чтобы помочь любому, кто захочет сделать это в какой-то момент, я опубликую здесь, что я сделал.


Эти шаги предполагают, что вы, по сути, начинаете с нуля, за исключением того, что уже установили Ubuntu на свою машину (через «Руководствуясь - используйте весь диск и настройте LVM»), и физически добавили дополнительный диск. Эти шаги могут работать, если у вас есть данные на компьютере, но я не могу точно сказать, будет ли это безопасно делать.

Эти команды предполагают следующую информацию и будут различаться в зависимости от ваших настроек:

  • Ваш новый диск - "SDB"
    • Это можно найти, запустив ls /dev/sd*
  • Что ваша группа томов называется ubuntu-vg
    • Это можно найти, запустив vgdisplay
  • Ваш путь к логическому тому - «/ dev / ubuntu-vg / root»
    • Это можно найти, запустив lvdisplay
  • Ваш новый диск 20 ГБ
    • Надеюсь, вы знаете, насколько большой диск.

  1. Установите Logical Volume Manager (вам может понадобиться, а может и нет).

    sudo apt-get install system-config-lvm
    
  2. Преобразуйте новый диск в физический том (в данном случае новый диск - «sdb»).

    sudo pvcreate /dev/sdb
    
  3. Добавьте физический том в группу томов через vgextend.

    sudo vgextend ubuntu-vg /dev/sdb
    
  4. Выделите физический том логическому тому (увеличьте размер тома на новый размер диска).

    sudo lvextend -l +100%FREE /dev/ubuntu-vg/root
    
  5. Измените размер файловой системы на логическом томе, чтобы он занимал дополнительное пространство.

    sudo resize2fs /dev/ubuntu-vg/root
    

Это должно сделать это. Пять простых шагов! Вам также не нужно перезагружаться. Просто запустите, df -hи ваше новое дисковое пространство должно отображаться правильно, а любые веб-приложения, которые вы можете запустить, получат новый объем дискового пространства.


2
Вы можете использовать lvextend -l +100%FREEдля расширения, чтобы использовать все свободное пространство, вместоlvextend -L+20G
nathancahill

Вы можете использовать, cat /proc/partitions; /sbin/rescan-scsi-bus; cat /proc/partitionsчтобы найти имя, например sdb, недавно установленного диска.
О. Джонс

1
Это должно работать; однако я предостерегаю от использования всего диска в качестве логического тома. Вместо этого я рекомендую разбить диск и создать LVM в одном или нескольких разделах на этом диске. Эта процедура обеспечивает гибкость в будущем, если вы хотите или нуждаетесь в некотором пространстве не-LVM в будущем. Это также может работать лучше, если вы столкнетесь с инструментом, который предполагает, что все диски разбиты на разделы. Я не знаю ни одного важного примера таких инструментов, но вы никогда не знаете, какие предположения могут возникнуть в какой-то случайной утилите, которую вы, возможно, захотите или должны запустить в будущем.
Род Смит

Из комментария Рода Смита это означает, что механически вам нужно сначала запустить fdisk на вашем / dev / sdb, выделить все пространство для нового раздела, установить раздел как «Linux LVM» (тип 8e), а затем заменить все / dev Записи / sdb в ваших инструкциях с / dev / sdb1
mtalexan

отличный гид. проверка доступных дисков более красиво сделана, lsblkхотя. Тестирование на RHEL7, хотя.
erikbwork

1

Я попытался установить большой диск LVM в 14.04 64-битном рабочем столе с дисками SATA 3X500 ГБ. Не удалось во время установки с ошибками устройства. Я нашел ссылку, в которой говорится, что диски более 256G являются пределом экстентов, но я не знаю, применимо ли это здесь.

Я также попытался настроить RAID (RAID 1 / boot 300 МБ, RAID 0 подкачка 2 ГБ и / RAID 5 все остальное. Больше сбоев.

$ sudo apt-get install -y mdadm

С опцией Live CD «Попробуйте Ubuntu без установки» вы все равно можете установить MDADM. Все еще не повезло. Обнаружение GParted, похоже, слегка переопределено и не захватывает некоторые тома в LVM или некоторые тома в RAID / dev / mdX, если все уже не предоставлено файловой системе;

$ sudo mkfs.etx4 / dev / md2

Кроме того, конфигурации RAID представляют еще больше проблем. Кажется, что MDADM больше не добавляется в список пакетов / target / usr / sbin установки, и установка его там, так что установка начинается при перезагрузке, будет огромным испытанием, для которого у меня просто нет времени или терпения. только для того, чтобы узнать, что спустя несколько часов работы на этих новых системных платах Windows 8 для взлома производительности (UEFI) по-прежнему не запускается проблема GRUB.

Установка LVM из Ubiquity работает отлично, пока вам не понадобится добавить больше дисков в корневой раздел / (в этот момент у вас будет очень хороший шанс завершить всю установку. Операции изменения размера LVM продолжают давать сбои, и вы снова возвращаетесь в квадрат 1 ,

Попытка установки сервера 14.04 Партман спасает день.

Загрузил установщик сервера 14.04, он точно определил архитектуру, установил MDADM, grub был установлен на все 3 диска, и все прекрасно работает.

3 диска (500 ГБ SATA)

3 раздела каждый. Для всех разделов установлен тип Linux Raid в fdisk.

RAID 1 / boot, разделы 300 МБ, раздел RAID 0, разделы 2 ГБ и RAID 5 /, 500 ГБ (все, что осталось).

$ sudo fdisk -l
Начало загрузки устройства Конец блокировки Id System
/ dev / sda1 2048 616447 307200 83 Linux
/ dev / sda2 616448 4810751 2097152 83 Linux
/ dev / sda3 4810752 976773167 485981208 fd Linux raid Autodetect

Идентификатор начальной и конечной блоков загрузки устройства Система
/ dev / sdc1 * 2048 616447 307200 83 Linux
/ dev / sdc2 616448 4810751 2097152 83 Linux
/ dev / sdc3 4810752 976773167 485981208 fd Linux raid Autodetect

Идентификатор начальной и конечной блоков загрузки устройства Система
/ dev / sdb1 2048 616447 307200 83 Linux
/ dev / sdb2 616448 4810751 2097152 83 Linux
/ dev / sdb3 4810752 976773167 485981208 fd Linux raid с автоматическим определением
...

$ sudo ls / dev / md *
/ dev / md0 / dev / md1 / dev / md2

/ dev / md:
0 1 2

$ sudo mdadm -D / dev / md0
/ dev / md0:
Версия: 1.2
Время создания: Ср. 6 августа 13:03:01 2014
Уровень рейда: raid1
Размер массива: 306880 (299,74 МиБ, 314,25 МБ)
Используемый размер Dev: 306880 (299,74 MiB 314,25 МБ)
Рейд устройств: 3
Всего устройств: 3
Постоянство: Суперблок постоянен

Update Time : Mon Aug 11 19:51:44 2014  
      State : clean   

Активные устройства: 3
Рабочие устройства: 3
Неисправные устройства: 0
Запасные устройства: 0

      Name : ubuntu:0
      UUID : 03a4f230:82f50f13:13d52929:73139517
    Events : 19

Number Major Minor RaidDevice State 0 8 1 0 активная синхронизация / dev / sda1 1 8 17 1 активная синхронизация / dev / sdb1 2 8 33 2 активная синхронизация / dev / sdc1

$ sudo mdadm -D / dev / md1 / dev / md1: Версия: 1.2 Время создания: Ср. 6 августа 13:03:31 2014 Уровень рейда: raid0 Размер массива: 6289920 (6.00 ГиБ 6.44 ГБ) Устройства рейда: 3 Всего устройств: 3 Постоянство: Суперблок является постоянным

Время обновления: ср. 6 авг. 13:03:31 2014 Состояние: чистое Активные устройства: 3 Рабочие устройства: 3 Неисправные устройства: 0 Запасные устройства: 0

Chunk Size : 512K

     Name : ubuntu:1
      UUID : 9843bdd3:7de01b63:73593716:aa2cb882
    Events : 0

Number Major Minor RaidDevice State 0 8 2 0 активная синхронизация / dev / sda2 1 8 18 1 активная синхронизация / dev / sdb2 2 8 34 2 активная синхронизация / dev / sdc2

$ sudo mdadm -D / dev / md2 / dev / md2: Версия: 1.2 Время создания: ср. 6 августа 13:03:50 2014 Уровень рейда: raid5 Размер массива: 971699200 (926,68 ГиБ 995,02 ГБ) Используется Размер разработчика: 485849600 (463,34 GiB 497,51 ГБ) Рейд устройств: 3 Всего устройств: 3 Постоянство: Суперблок постоянен

Время обновления: Пн, 11 авг. 19:54:49 2014 Состояние: активно Активных устройств: 3 Рабочих устройств: 3 Отказавших устройств: 0 Запасных устройств: 0

    Layout : left-symmetric
Chunk Size : 512K

      Name : ubuntu:2
      UUID : 6ead2827:3ef088c5:a4f9d550:8cd86a1a
    Events : 14815

Number Major Minor RaidDevice State 0 8 3 0 активная синхронизация / dev / sda3 1 8 19 1 активная синхронизация / dev / sdb3 3 8 35 2 активная синхронизация / dev / sdc3

$ sudo cat / etc / fstab
'# / etc / fstab: информация о статической файловой системе.'
'#'
'# Используйте «blkid» для печати универсально уникального идентификатора устройства
«#»; это может использоваться с UUID = как более надежный способ присвоения имен устройствам '
' #, который работает, даже если диски добавляются и удаляются. Смотрите fstab (5). '
'#'
'#'
'# / был включен / dev / md126 во время установки'
UUID = 2af45208-3763-4cd2-b199-e925e316bab9 / ext4 ошибки = remount-ro 0 1
'# / загрузка была включена / dev / md125 во время установки '
UUID = 954e752b-30e2-4725-821a-e143ceaa6ae5 / boot ext4 по умолчанию 0 2
'
UUID = fb81179a-6d2d-450d-8d19-3cb3bde4d28a нет своп sw 0 0

Бег как чистокровный теперь.

Мне приходит в голову, что если вы используете 32-битное оборудование, это не работает для вас, но я думаю, что на данный момент программный RAID может быть худшим выбором, чем просто LVM с одним диском для чего-то меньшего, и JBOD для чего-то более старого, чем это в любом случае ,

Спасибо.


Партман спасает день. Загрузил установщик сервера 14.04, он отлично идентифицировал архитектуру, установил MDADM и все прекрасно работает. Вот краткое изложение настроек на случай, если это будет полезно;
Spyderdyne

1

Эта техника работала для меня на первичном твердотельном накопителе объемом 128 ГБ и расширении 2 ТБ.
Если вы столкнулись с проблемой использования ubuntu-vg при добавлении физического тома в группу томов, попробуйте выполнить команду

sudo vgdisplay 

Обычно формат имени группы томов таков NAME_OF_COMPUTER-vg, так что если ваша система называется, SKYNETваша группа томов, скорее всего, будет названа

SKYNET-vg
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.