Проект переехал на новый домен!  [[ перейти ]]

#######################################
# Gentoo LVM (Logical Volume Manager) #
#######################################

Дано:
Notebook IBM t21 (Винт: 20Gb, ОЗУ: 256Mb)

}{@чY
--------------------------------------------------------------------------------
загрузочный раздел
/boot	/dev/hda1	32Mb-64Mb	(primary)	Linux(83)

swap-раздел
swap	/dev/hda2	ОЗУ*2 = 512Mb	(primary)	Linux swap / Solaris(82)

корневой раздел
/	/dev/hda3	150Mb-250Mb	(primary)	Linux(83)

расширеный раздел
 	/dev/hda4	остаток диска	(extended)	Extended(5)

На /dev/hda4 создаём единственный логический раздел
	/dev/hda5	весь диск	(logical)	Linux LVM(8e)
--------------------------------------------------------------------------------

# fdisk -l
#############################################################################
Disk /dev/hda: 20.0 GB, 20003880960 bytes
15 heads, 63 sectors/track, 41344 cylinders
Units = cylinders of 945 * 512 = 483840 bytes
Disk identifier: 0x96f596f5

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1          67       31626   83  Linux
/dev/hda2              68        1126      500377+  82  Linux swap / Solaris
/dev/hda3            1127        1437      146947+  83  Linux
/dev/hda4            1438       41344    18856057+   5  Extended
/dev/hda5            1438       41344    18856026   8e  Linux LVM
#############################################################################

Далее на LVM, буду размещены каталоги, как вирт разделы:
/var	2Gb	(почта, логи, очередь печати)
/tmp	512Mb	(временные файлы)
/opt	1Gb	(установка программ сторонних производителей)
/usr	5Gb	(библиотеки и прочее)
/home	Остаток	(файлы пользователя) ~ самый большой каталог

Для работы с LVM нужен модуль dm_mod
# lsmod dm_mod
если нет, то подгружаем
# modprobe dm_mod

Картинку содрал отсюда http://xgu.ru/wiki/LVM
--------------------------------------------------------
sda1     sda2     sdb     sdc       <-- PV, Physical volume, физический том.
 |        |        |       |
 |        |        |       |
 +--------+- VG00 -+-------+        <-- VG, Volume group, группа томов.
              |
 +-------+-------+---------+
 |       |       |         |
root    usr     home      var       <-- LV, Logical volume, логический том
 |       |       |         | 
ext3 reiserfs reiserfs    xfs       <-- Файловые системы
--------------------------------------------------------

Каждый физический, логический том делится на порции данных, называющиеся экстентами. 
# PE, Physical extent, физический экстент. 
# LE, Logical extent, логический экстент. 

Далее...
Отключить опрос привода CDROM, иначе ошибку показывать будет, типа дверца открыта.
Я отключаю опрос привода потому, что установку произвожу с компакта gentoo-2008.0-minimal
# cd /etc/lvm && cp lvm.conf lvm.conf.sample && echo 'devices { filter=["r/dev/cdrom/"] }' > lvm.conf

Список всех физических томов
# pvscan
#################################################################
  PV /dev/hda5         lvm2 [17.98 GB]
  Total: 1 [17.98 GB] / in use: 0 [0   ] / in no VG: 1 [17.98 GB]
#################################################################

Инициализация физических томов для использования в LVM, это наш:
-----------------------------------------------------------------
/dev/hda5            1438       41344    18856026   8e  Linux LVM
-----------------------------------------------------------------
# pvcreate /dev/hda5
###################################################
  Physical volume "/dev/hda5" successfully created
###################################################

Дальше мы создаём группу из физических томов, пусть будет называтся "vg0":
# vgcreate vg0 /dev/hda5
##########################################
  Volume group "vg0" successfully created
##########################################

# vgscan
##########################################################
  Reading all physical volumes.  This may take a while...
  Found volume group "vg0" using metadata type lvm2
##########################################################
vgscan говорит нашёл vg0

# vgdisplay
##############################################################
  --- Volume group ---
  VG Name               vg0
  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               17.98 GB
  PE Size               4.00 MB
  Total PE              4603
  Alloc PE / Size       0 / 0
  Free  PE / Size       4603 / 17.98 GB
  VG UUID               co5N1z-9Srv-D1fr-qSRo-ptfV-n4Ub-fpSTzG
##############################################################

# pvdisplay
##############################################################
  --- Physical volume ---
  PV Name               /dev/hda5
  VG Name               vg0 <--- появилось это ж;)
  PV Size               17.98 GB / not usable 2.09 MB
  Allocatable           yes
  PE Size (KByte)       4096
  Total PE              4603
  Free PE               4603
  Allocated PE          0
  PV UUID               y4ZQ3m-0oIF-Sjhb-TN2F-cGWB-dEf8-xml1UE
##############################################################

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Отступление... На самом деле можно создать в группу можно 
включть несколько физических томов а дальше делить как и обычно!
Например:
# vgcreate vg0 /dev/hda5 /dev/hdb1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Теперь создадим логические тома в группе vg0 задавая размер -L и имя -n:
# lvcreate -L 2G -n var vg0 && lvcreate -L 512M -n tmp vg0 && lvcreate -L 1G -n opt vg0 && lvcreate -L 5G -n usr vg0
###############################
  Logical volume "var" created
  Logical volume "tmp" created
  Logical volume "opt" created
  Logical volume "usr" created
###############################

Остался один каталог который не создали, но я не знаю сколько осталось свободного места ;-(
Хотя...
# vgdisplay
##############################################################
  --- Volume group ---
  VG Name               vg0
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  9
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                4
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               17.98 GB
  PE Size               4.00 MB
  Total PE              4603
  Alloc PE / Size       2176 / 8.50 GB <--- Занято
  Free  PE / Size       2427 / 9.48 GB <--- Свободно
  VG UUID               co5N1z-9Srv-D1fr-qSRo-ptfV-n4Ub-fpSTzG
##############################################################

# lvcreate -L 9G -n home vg0
###############################
  Logical volume "home" created
###############################

Смотрим...
# lvscan
#######################################################
  ACTIVE            '/dev/vg0/var' [2.00 GB] inherit
  ACTIVE            '/dev/vg0/tmp' [512.00 MB] inherit
  ACTIVE            '/dev/vg0/opt' [1.00 GB] inherit
  ACTIVE            '/dev/vg0/usr' [5.00 GB] inherit
  ACTIVE            '/dev/vg0/home' [9.00 GB] inherit
#######################################################

Вот теперь я счастлив)

# vgdisplay
##############################################################
  --- Volume group ---
  VG Name               vg0
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  10
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                5
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               17.98 GB
  PE Size               4.00 MB
  Total PE              4603
  Alloc PE / Size       4480 / 17.50 GB
  Free  PE / Size       123 / 492.00 MB <--- Осталось
  VG UUID               co5N1z-9Srv-D1fr-qSRo-ptfV-n4Ub-fpSTzG
##############################################################

Можно 492MB оставить для новых томов про запас, но я жадный!!! ж;)
У меня же ноут и доп винтов не придвидится... 450MB добавим к home
# lvextend -L+450M /dev/vg0/home
#####################################################
  Rounding up size to full physical extent 452.00 MB
  Extending logical volume home to 9.44 GB
  Logical volume home successfully resized
#####################################################

А оставшиеся 40MB...
# vgdisplay
##############################################################
  --- Volume group ---
  VG Name               vg0
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  11
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                5
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               17.98 GB
  PE Size               4.00 MB
  Total PE              4603
  Alloc PE / Size       4593 / 17.94 GB
  Free  PE / Size       10 / 40.00 MB <--- Пусть греют душу )))
  VG UUID               co5N1z-9Srv-D1fr-qSRo-ptfV-n4Ub-fpSTzG
##############################################################

Да! Кстати... где найти наши тома? Они лежат тут:
# ls -l /dev/vg0/
###################################################################
total 0
lrwxrwxrwx 1 root root 20 Jan 27 16:54 home -> /dev/mapper/vg0-home
lrwxrwxrwx 1 root root 19 Jan 27 16:44 opt -> /dev/mapper/vg0-opt
lrwxrwxrwx 1 root root 19 Jan 27 16:44 tmp -> /dev/mapper/vg0-tmp
lrwxrwxrwx 1 root root 19 Jan 27 16:44 usr -> /dev/mapper/vg0-usr
lrwxrwxrwx 1 root root 19 Jan 27 16:44 var -> /dev/mapper/vg0-var
###################################################################
Интересная картина! Я Удивлён! Я вижу ссылки...

Ну а дальше всё понятно:
1) Создаём файловые системы 
# mkfs.ext2 /dev/hda1
# mkswap /dev/hda2 && swapon /dev/hda2
# mkfs.ext3 /dev/hda3
# mkfs.reiserfs /dev/vg0/usr && 
> mkfs.reiserfs /dev/vg0/var && 
> mkfs.reiserfs /dev/vg0/opt && 
> mkfs.reiserfs /dev/vg0/home

2) Монтируем или nano -w /etc/fstab
##############################################################################################
 			 	   			   	 	
/dev/hda1  		/boot		ext2		noauto,noatime		1 	1
/dev/hda2	   	none		swap		sw			0 	0
/dev/hda3 	  	/		ext3		noatime			0 	0
/dev/vg0/usr		/usr		reiserfs	noatime,notail		0 	0
/dev/vg0/var           	/var		reiserfs	noatime,notail		0 	0
/dev/vg0/opt          	/opt		reiserfs	noatime,notail		0 	0
/dev/vg0/tmp          	/tmp		ext2		noatime			0 	0
/dev/vg0/home         	/home		reiserfs	noatime,notail		0 	0
/dev/hdc		/mnt/cdrom   	iso9660  	noauto,ro,users 	0 	0
#/dev/fd0    		/mnt/floppy  	auto     	noauto   	        0 	0
proc  			/proc  		proc 		defaults  	        0 	0
shm 		        /dev/shm	tmpfs		nodev,nosuid,noexec	0 	0
##############################################################################################

Вот впринципе и всё!

PS: Не упомянутое:
#######################################################################################################################
# pv 
pvremove  pvresize
-----------------------------------------------------------------------------------------------------------------------
# vg 
vgcfgbackup   vgchange      vgconvert     vgdisplay     vgextend      vgmerge       vgreduce      vgrename      vgscan
vgcfgrestore  vgck          vgcreate      vgexport      vgimport      vgmknodes     vgremove      vgs           vgsplit
-----------------------------------------------------------------------------------------------------------------------
# lv 
lvchange     lvcreate     lvextend     lvmchange    lvmdump      lvmsar       lvremove     lvresize     lvscan
lvconvert    lvdisplay    lvm          lvmdiskscan  lvmsadc      lvreduce     lvrename     lvs
#######################################################################################################################

На последок... Сравнение файловых систем
http://ru.wikipedia.org/wiki/%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC