您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“lvm如何使用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“lvm如何使用”這篇文章吧。
lvm的使用
lvm是很有用的,在一個生產系統中,如果空間不夠用,在沒有用lvm之前,要想擴容是很不方便的
要找一個想擴大到你想要容量的存儲,然后要把原有數據導入到新的設備中,對原有設備也是一種
浪費,有了lvm就不一樣了,我可以在不改變原有系統的條件下,直接對對系統怎加存儲空間
下面是我146的硬盤的分區情況,我這個服務器計劃用戶oracle數據庫
一些空間變化不大的分區我還是采用ext3格式,但一些0空間變化很大的分區,我采用了lvm
這樣對于以后的擴展做充分的準備
[root@dbolap ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 981M 202M 730M 22% /
none 1004M 0 1004M 0% /dev/shm
/dev/sda8 2.0G 36M 1.8G 2% /tmp
/dev/sda6 3.9G 2.0G 1.8G 53% /usr
/dev/sda7 2.0G 115M 1.8G 7% /var
/dev/mapper/vg_home-lv_home
9.6G 54M 9.1G 1% /home
/dev/mapper/vg_u01-lv_u01
110G 92M 105G 1% /u01
[root@dbolap ~]#
一.lvm的使用步驟:
1).建立LVM類型的分區 (8e)
2).建立LVM物理巻PV
3).建立LVM巻組VG
4).建立LVM邏輯巻LV
5).建立文件系統
6).掛接文件系統
7).使用文件系統
二.lvm開機自動掛載
fstab文件的作用 :
文件/etc/fstab存放的是系統中的文件系統信息。當正確的設置了該文件,則可以通過"mount /directoryname"命
令來加載一個文件系統,每種文件系統都對應一個獨立的行,每行中的字段都有空格或tab鍵分開。同時fsck、mount
、umount的等命令都利用該程序。
lvm開機自動mount,可以修改/etc/fstab 文件,然后重新啟動機器即可
eg:
[root@dbolap ~]# vi /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
LABEL=/tmp /tmp ext3 defaults 1 2
LABEL=/usr /usr ext3 defaults 1 2
LABEL=/var /var ext3 defaults 1 2
LABEL=SWAP-sda5 swap swap defaults 0 0
/dev/vg_home/lv_home /home ext3 defaults 1 0
/dev/vg_u01/lv_u01 /u01 ext3 defaults 1 0
/dev/hda /media/cdrom auto pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
/dev/scd0 /media/cdrecorder auto pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
~
~
下面簡單介紹下fstab文件的格式說明:
下面是/etc/fatab文件的一個示例行:
fs_spec fs_file fs_type fs_options fs_dump fs_pass
/dev/hda1 / ext2 defaults 1 1
fs_spec - 該字段定義希望加載的文件系統所在的設備或遠程文件系統,對于一般的本地塊設備情況來說:
IDE設備一般描述為/dev/hdaXN,X是IDE設備通道(a, b, or c),N代表分區號;SCSI設備一描述為/dev/
sdaXN。對于NFS情況,格式一般為:
,例如:`knuth.aeb.nl:/'。對于procfs,使用`proc'來定義。
fs_file - 該字段描述希望的文件系統加載的目錄點,對于swap設備,該字段為none;對于加載目錄名包
含空格的情況,用40來表示空格。
fs_type - 定義了該設備上的文件系統,一般常見的文件類型為ext2 (Linux設備的常用文件類型)、vfat
(Windows系統的fat32格式)、NTFS、iso9600等。
codepage國家語言代碼頁
iocharset字符集
fs_options - 指定加載該設備的文件系統是需要使用的特定參數選項,多個參數是由逗號分隔開來。對于
大多數系統使用"defaults"就可以滿足需要。其他常見的選項包括:
選項 含義
ro 以只讀模式加載該文件系統
sync 不對該設備的寫操作進行緩沖處理,這可以防止在非正常關機時情況下破壞文件系統,但是卻降低了計算機速度
user 允許普通用戶加載該文件系統
quota 強制在該文件系統上進行磁盤定額限制
noauto 不再使用mount -a命令(例如系統啟動時)加載該文件系統
fs_dump - 該選項被"dump"命令使用來檢查一個文件系統應該以多快頻率進行轉儲,若不需要轉儲就設置該字段為0
fs_pass - 該字段被fsck命令用來決定在啟動時需要被掃描的文件系統的順序,根文件系統"/"對應該字段的值應該為1,
其他文件系統應該為2。若該文件系統無需在啟動時掃描則設置該字段為0
三.lvm的lv在線擴容方法
通常我們操作pvextend之后,必須執行resize的相關命令才可以。通常安全起見,都是offline下,也就是umount之后才做的。
但是有時候我們是不可以讓某些生產系統offline的。所以必須保證online的前提下來extend相應的LV。
以下就是在Online情況下,對于以下的文件系統類型所應執行的命令。
1:ext3
ext2online /dev/foovg/lvbar
2:reiserfs
resize_reiserfs /dev/foovg/lvbar
3:xfs
xfs_growfs /dev/foovg/lvbar
4:jfs
mount -o remount,resize /dev/foovg/lvbar
嚴格來說,jfs這個不能算作online操作。如果恰好這個mounting的分區正存在IO操作,恐怕這樣執行會出問題。所以這個保留,稍后我再查找一下。
四.lvm常用命令
LVM創建和使用收藏
A、概念:
1).PV(Physical Volume):物理巻,處于LVM最底層,可以是物理硬盤或者分區。
2).VG(Volume Group):巻組,建立在PV之上,可以含有一個到多個PV。
3).LV(Logical Volume):邏輯巻,建立在PV之上,相當于原來分區的概念。不過大小可動態改變。
4).PE(Physical Extend):物理區域,PV中可以用于分配的最小存儲單位,可以在建立PV時指定,如1,2,4,8... ...64M,同一VG中的所有PV的PE應該相同。
5).LE(Logical Extend):邏輯區域,LV中可以用于分配的最小存儲單元,取決于LV所在PV中PE的大小,是PE的整數倍。
6).VGDA(Volume Group Descriptor Area):巻組描述區域,存在于每個PV中,用于描述該PV本身、PV所含VG、VG中的LV以及LV中的物理區域分配等信息,在使用pvcreate命令建立PV時建立。
B、步驟:
1).建立LVM類型的分區
2).建立LVM物理巻PV
3).建立LVM巻組VG
4).建立LVM邏輯巻LV
5).建立文件系統
6).掛接文件系統
7).使用文件系統
C、命令
1).PV(物理巻)相關
<1>pvdisplay:顯示PV屬性
<2>pvscan:在系統所有硬盤上查找PV
<3>pvcreate:創建PV(在PV上初始化VGDA)
例如:為/dev/hda1創建了PV
[root@mylinux]# pvcreate /dev/hda1
<4>pvdata:顯示某個PV的詳細信息
例如:
[root@mylinux]# pvdata /dev/hda1
<5>pvchange:改變PV屬性
<6>pvmove:在PV間移動PE/LE
2).VG相關
<1>vgdisplay:顯示VG巻組屬性
<2>vgscan:查找系統現有VG巻組
<3>vgcreate:創建VG巻組(在VG上初始化VGDA)
例如:創建包含物理巻hda1和hdb1的邏輯巻組demoVG1
[root@mylinux]# vgcreate demoVG1 /dev/hda1 /dev/hdb1
<4>vgdata:顯示VG巻組上的VGDA信息
<5>vgchange:改變VG巻組屬性
此命令有兩個常用的參數:
-a:,--available{y|n}:在操作VG時,控制一個VG的可使用性,換句話說控制一個VG能否被系統內核識別。
-x,--allocation{y|n}:控制一個VG能否被擴充或者縮減(控制一個VG內的PV能否被分配)。
<6>vgmove:在VG巻組間移動PE/LE
<7>vgextend:用于向VG中添加新的PV
例如:[root@mylinux]# vgextend demoVG1 /dev/hdd1
<8>vgreduce:用于從VG中刪除PV
例如:[root@mylinux]# vgreduce demoVG1 /dev/hdd1
<9>vgmerge:用于合并巻組。待合并的VG必須處于非活動狀態。
例如:將demoVG21和 demoVG2合并到demoVG1中并顯示結果:
[root@mylinux]# vgmerge demoVG1 demoVG2
vgmerge --ERROR:volume group "demoVG2" must be inactive
[root@mylinux]# vgchange -a n demoVG2
vgchange --volume group "demoVG2" successfully deactivated
[root@mylinux]# vgmerge demoVG1 demoVG2
vgmerge --doing automatic backup of volume group "demoVG1"
vgmerge --volume group "demoVG2" successfully merged into "demoVG1"
<10>vgsplit:用于拆分已經存在的VG,VG必須處于活動狀態。
例如:
[root@mylinux]# vgchange -a y demoVG2
[root@mylinux]# vgsplit demoVG2 demoVG4 /dev/hdd2 /dev/hdd5 /dev/hdd6 /dev/hdd7
<11>vgremove:用于刪除VG,要求待刪除的VG必須處于非激活狀態。
例如:
[root@mylinux]# vgchange -a n demoVG1
[root@mylinux]# vgremove demoVG1
<12>vgrename:用于重命名VG,不要求VG處于非激活狀態。
例如:
[root@mylinux]# vgrename demoVG2 demoVG3
<13>vgck:用于檢測VG中VGDA的一致性。
<14>vgcfgbackup:備份系統所有VG中各物理巻的VGDA信息到/etc/lvmconf
[root@mylinux]# vgcfgbackup
<15>vgcfgrestore:用于從/etc/lvmconf恢復系統所有VG中各物理巻的VGDA信息。VG必須處于非激活狀態。
<16>vgmknodes:用于vgcfgrestore后,重建節點信息,重建已有巻組的巻組目錄和其中的設備文件。
例如:
[root@mylinux]# vgchange -a n demoVG3
[root@mylinux]# vgmknodes
<17>vgexport:用于輸出巻組。待輸出巻組必須為非激活狀態。巻組中的物理巻需要被轉移到其它系統中使用時,就需要使用這個命令。
例如:
[root@mylinux]# vgchange -a n demoVG3
[root@mylinux]# vgexport demoVG3
<18>vgimport:用于輸入巻組。
例如:
[root@mylinux]# vgimport demoVG1 /dev/hdd1
3).LV相關
<1>lvdisplay:顯示LV的屬性 <2>lvscan:查找系統現有LV
<3>lvcreate:創建LV
<4>lvdata:顯示LV上的LVDA信息
<5>lvchange:改變LV屬性
例如:
[root@mylinux]# lvchange -a n /dev/demoVG1/demoLV11
<6>lvmove:在LV間移動PE/LE
<7>lvextend:擴展LV容量。LVM的最突出特點就是隨時動態的調整LV空間大小。
例如:
[root@mylinux]# lvscan|grep LV11
lvscan --ACTIVE "/dev/demoVG1/demoLV11" [200MB]
[root@mylinux]# lvextend -L +10m /dev/demoVG1/demoLV11 (為demoLV11增加10MB的空間)
<8>lvreduce:減小LV容量。
例如:
[root@mylinux]# lvextend -L -10m /dev/demoVG1/demoLV11 (為demoLV11減少10MB的空間)
<9>lvrename:LV重命名
例如:
[root@mylinux]# lvrename /dev/demoVG1/demoLV11 /dev/demoVG1/demoLV01
<10>lvremove:刪除LV(邏輯巻)
例如:
[root@mylinux]# lvremove /dev/demoVG1/demoLV01 <11>resize2fs/e2fsadm/resize_reiserfs:類似于extend命令。
4).創建文件系統
<1>使用命令mkfs在demoLV31上創建ext3類型的分區:
[root@mylinux]# mkfs -t ext3 /dev/demoVG3/demoLV31
<2>使用命令mkfs.ext3在demoLV31上創建ext3分區:
[root@mylinux]# mkfs.ext3 /dev/demoVG3/demoLV31
<3>使用命令mkreiserfs在demoLV31上創建reiserfs分區:
[root@mylinux]# mkreiserfs /dev/demoVG3/demoLV31
<4>使用命令mkjfs在在demoLV31上創建jfs分區:
[root@mylinux]# mkfs.jfs /dev/demoVG3/demoLV31
5).掛接文件系統
先建立四個目錄:
[root@mylinux]# mkdir /mnt/mnt_lv11 /mnt/mnt_lv12 /mnt/mnt_jfs /mnt/mnt_reiserfs
掛接命令:
<1>mkfs掛接:
[root@mylinux]# mount -t ext3 /dev/demoVG3/demoLV31 /mnt/mnt_lv11
<2>mkfs.ext3掛接:
[root@mylinux]# mount /dev/demoVG3/demoLV31 /mnt/mnt_lv12
<3>mkjfs掛接:
[root@mylinux]# mount -t jfs /dev/demoVG3/demoLV31 /mnt/mnt_jfs
<4>mkreiserfs掛接:
[root@mylinux]# mount -t reiserfs /dev/demoVG3/demoLV31 /mnt/mnt_reiserfs
6).使用
***略***
7).LVM相關命令
<1>lvmdiskscan:檢測硬盤和分區中的邏輯巻管理信息
<2>lvmsadc:收集邏輯巻的讀寫統計信息
<3>lvmsar:查看LVM的日志文件信息
<4>lvmchange:復位LVM組件
以上是“lvm如何使用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。