CentOS: добавление нового диска к LVM

Автор: | 26/01/2015

lvm_logoБыстрый HowTo.

Более полное описание работы с LMV и утилитами смотрите тут>>>.

Есть новый физический диск /dev/sdb, который надо подключить отдельным разделом.

1. Создаём на диске новый раздел

# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xe8bae10a.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Command (m for help): m // выведем себе подсказку
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Command (m for help): n // n - создать новый раздел
Command action
e extended
p primary partition (1-4)
p // основной раздел

Partition number (1-4): 1 // номер раздела на диске, это первый
First cylinder (1-1044, default 1): // оставляем по-умолчанию, с первого цилиндра
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +8000M // диск у нас Disk /dev/sdb: 8589 MB, устанавливаем раздел 8G

Command (m for help): t // далее зададим тип раздела, нам нужен Linux LVM
Selected partition 1
Hex code (type L to list codes): L

0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx
5 Extended 42 SFS 86 NTFS volume set da Non-FS data
6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt
9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access
a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary
16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT
1e Hidden W95 FAT1

Hex code (type L to list codes): 8e // код Linux LVM - 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w // записываем изменения на диск
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Проверяем:

 # fdisk -l /dev/sdb

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x217118ba

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        2610    20964793+  8e  Linux LVM

2. Инициализируем раздел

# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created

Проверяем:

# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               vg_mainhome
  PV Size               19.51 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              4994
  Free PE               0
  Allocated PE          4994
  PV UUID               M6Rqrd-DDVf-0crg-pXCx-tmgX-SylT-T6TGxG

  "/dev/sdb1" is a new physical volume of "19.99 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name
  PV Size               19.99 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               fbmaqp-LK9p-BNLb-65Nb-NMed-baq5-YITjq3

3. Создаём LVM раздел с именем repository

# vgcreate repository /dev/sdb1
  Volume group "repository" successfully created

Проверяем:

 # vgdisplay repository
  --- Volume group ---
  VG Name               repository
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.99 GiB
  PE Size               4.00 MiB
  Total PE              5118
  Alloc PE / Size       0 / 0
  Free  PE / Size       5118 / 19.99 GiB
  VG UUID               ZWuShS-Dc0z-fRQW-Fmv3-1PUz-i4B2-OFf0Yb

3. Создаём логический раздел на этой группе томов (хотя он тут один)

# lvcreate --name repository --size 19G repository
  Logical volume "repository" created

Проверяем:

# lvdisplay /dev/repository/repository
  --- Logical volume ---
  LV Path                /dev/repository/repository
  LV Name                repository
  VG Name                repository
  LV UUID                AwCKQS-kHpY-4dmu-sB1f-7Glm-jCtV-my5tfz
  LV Write Access        read/write
  LV Creation host, time cent_1, 2015-01-16 09:53:18 +0200
  LV Status              available
  # open                 0
  LV Size                19.00 GiB
  Current LE             4864
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

4. Создаём файловую систему на новом разделе

# mkfs.ext4 /dev/repository/repository
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
...
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

Проверяем:

# blkid /dev/repository/repository
/dev/repository/repository: UUID="92103a1a-790a-4732-9b25-e821ecf92dd1" TYPE="ext4"

5. Создаём каталог для монтирования

# mkdir /repository

6. Монтируем

# mount /dev/repository/repository /repository

Проверяем:

# mount
/dev/mapper/vg_mainhome-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/mapper/repository-repository on /repository type ext4 (rw)
# ls -l /repository/
total 16
drwx------ 2 root root 16384 Jan 16 09:54 lost+found

7. Редактируем fstab

Добавляем строку:

/dev/repository/repository /repository                  ext4    defaults        0 0

7. Перезапускаем машину

# reboot

После перезагрузки – проверяем:

# df -h /repository/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/repository-repository
                       19G   44M   18G   1% /repository

Готово.