linux添加物理卷編輯文件夾,Red hat Linux下的邏輯卷管理器LVM-上

【IT168 專稿】Red hat 下的LVM 上 LVM是Logical Volume Manager(邏輯卷管理器)的簡寫,它為主機提供了更高層次的磁盤存儲管理能力。LVM可以幫助系統管理員為應用與用戶方便地分配存儲空間。在LVM管理下的邏輯卷可以按需改變大小或添加移除。另外,LVM可以為所管理的邏輯卷提供定制的命名標識。因此,使用LVM主要是方便了對存儲系統的管理,增加了系統的擴展性。

Linux,AIX,Hp-uinx平臺下的LVM 命令是不一樣的。下面以Redhat 下的命令來做一些說明。

一. LVM 理論知識

1. 先來看一下LVM創建的流程: PV-->VG-->LV.

PV(Physical Volume) :物理卷,可以是單獨磁盤,也可以是硬盤分區。

VG(Volume Group) :卷組,是PV的組合,可以看成單獨的邏輯磁盤。

LV(Logical Volume) :邏輯分區,當于物理分區的/dev/hdaX,只有邏輯卷才可以寫數據。

PE(Physical Extent) :物理范圍。VG單元,類似于RAID的條帶大小。 當多個PV組成一個VG時,LVM會在所有PV上做類似格式化的動作,將每個PV切成一塊塊的空間,這一塊塊的空間就稱為PE, 通常是4MB。

LE(Logical Extent) :邏輯范圍。LV的組成單位。大小為PE的倍數(通常為1:1)。

2. 工作原理

LVM 在每個物理卷頭部都維護了一個 metadata,每個 metadata 中都包含了整個 VG 的信息,包括每個 VG 的布局配置、PV 的編號、LV 的編號,以及每個 PE 到 LE 的映射關系。同一個 VG 中的每個 PV 頭部的信息是相同的,這樣有利于故障時進行數據恢復。

LVM 對上層文件系統提供 LV 層,隱藏了操作細節。對文件系統而言,對 LV 的操作與原先對 Partition 的操作沒有差別。當對 LV 進行寫入操作時,LVM 定位相應的 LE,通過 PV 頭部的映射表,將數據寫入到相應的 PE 上。

LVM 實現的關鍵在于在 PE 和 LE 間建立映射關系,不同的映射規則決定了不同的 LVM 存儲模型。LVM 支持多個 PV 的 Stripe 和 Mirror,這點和軟 Raid 的實現十分相似。

使用 LVM 的優勢:

?文件系統可以跨多個磁盤,因此大小不會受物理磁盤的限制。

?可以在系統運行狀態下動態地擴展文件系統大小。

?可以增加新磁盤到 LVM 的存儲池中。

?可以以鏡像的方式冗余重要數據到多個物理磁盤上。

?可以很方便地導出整個卷組,并導入到另外一臺機器上。

使用 LVM 的限制:

?在從卷組中移除一個磁盤時必須使用 reducevg,否則會出問題。

?當卷組中的一個磁盤損壞時,整個卷組都會受影響。

?不能減小文件系統大小(受文件系統類型限制)。

?因為加入了額外的操作,存儲性能會受影響(使用 Stripe 的情況另當別論)。

二. 創建相應的磁盤分區

1. 修改磁盤,創建相應的分區

[root@san iscsi]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes

255 heads, 63 sectors/track, 5221 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 255 2048256 83 Linux

/dev/sda2 256 382 1020127+ 82 Linux swap / Solaris

/dev/sda3 383 5221 38869267+ 5 Extended

/dev/sda5 383 395 104391 83 Linux

/dev/sda6 396 408 104391 83 Linux

/dev/sda7 409 421 104391 83 Linux

/dev/sda8 422 434 104391 83 Linux

這里創建了4個擴展分區,每個100M。 用fdisk /dev/sda創建的。 分區沒有格式化。

2. 使用磁盤分區生效

#partprobe

三. 創建PV

1.相關命令

pvcreate 創建PV

pvscan 掃描PV

pvdisplay 顯示PV

pvremove 刪除PV

partprobe

2.創建物理卷

[root@san iscsi]# pvcreate /dev/sda5 /dev/sda6

Physical volume "/dev/sda5" successfully created

Physical volume "/dev/sda6" successfully created

[root@san iscsi]# pvscan

PV /dev/sda5 lvm2 [101.94 MB]

PV /dev/sda6 lvm2 [101.94 MB]  Total: 2 [203.89 MB] / in use: 0 [0 ] / in no VG: 2 [203.89 MB]

[root@san iscsi]# pvdisplay

"/dev/sda5" is a new physical volume of "101.94 MB"

--- NEW Physical volume ---

PV Name /dev/sda5

VG Name

PV Size 101.94 MB

Allocatable NO

PE Size (KByte) 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID hDtAhK-adlx-5Ex0-ogc1-Alvm-H274-a8u7c2

"/dev/sda6" is a new physical volume of "101.94 MB"

--- NEW Physical volume ---

PV Name /dev/sda6

VG Name

PV Size 101.94 MB

Allocatable NO

PE Size (KByte) 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID Sy1wPG-XnjQ-eYD5-91vj-Ug5b-EGgU-i30lCS

四. 創建VG

1.相關命令

vgcreate 創建VG

vgscan 掃描VG

vgdispaly

vgextend

vgreduce

vgchange

vgremove

2.創建邏輯卷VG

[root@san iscsi]# vgcreate vg0 /dev/sda5 /dev/sda6

Volume group "vg0" successfully created

[root@san iscsi]# vgscan

Reading all physical volumes. This may take a while...

Found volume group "vg0" using metadata type lvm2

Device '/dev/sda6' has been left open.

Device '/dev/sda5' has been left open.

[root@san iscsi]# vgdisplay

--- Volume group ---

VG Name vg0

System ID

Format lvm2

Metadata Areas 2

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 2

Act PV 2

VG Size 200.00 MB

PE Size 4.00 MB /*分配的塊大小默認為4M*/  Total PE 50

Alloc PE / Size 0 / 0

Free PE / Size 50 / 200.00 MB

VG UUID iE7uoy-boR3-N6Cv-91Gf-G5vE-ftD6-gSGVlB

3.刪除與添加邏輯卷

[root@san iscsi]# vgreduce vg0 /dev/sda5

Removed "/dev/sda5" from volume group "vg0"

[root@san iscsi]# vgextend vg0 /dev/sda5

Volume group "vg0" successfully extended

4. PE 和LV 大小的關系

In order to limit the Linux kernel memory usage, there is a limit of 65,536 physical extents (PE) per logical volume (LV). Hence, the LVM PE size will directly determine the maximum size of a logical volume (LV)! For example, 4MB PE size (the default PE size) will limit single logical volume (LV) to 256GB, 16MB PE size will limit single LV to grow beyond 1TB, etc.

Beside the PE size, the maximum size of single LV is also limited by CPU architecture and Linux kernel version:

Linux kernel version 2.4.x limit the maximum LV size to 2TB.

Some older Linux kernel prior to 2.4.x, the maximum LV size is limited to 1TB (caused by the integer signedness problems in the block layer).

The combination of 32-bit CPU and Linux kernel version 2.6.x, the limit of logical volume size is maximized at 16TB.

For Linux kernel 2.6.x running on 64-bit CPU, the maximum LV size is 8EB (extremely terrible big storage for this time being!)

這段問題里有如下2個重點信息:

1. PE 的大小決定LV 的容量,默認4M 的PE 最大支持的256G 的LV。 16M的PE 最大支持1TB的LV。

2. 影響LV 容量的還有CPU 架構。 對于32bit 下,Linux 內核為2.6.X的支持16TB,64bit 下,Linux 內核為2.6.x的支持8EB。

所以如果要想支持大量的LV。 那么對在創建LV 的時候,還需要指定PE 的大小。 這個我們在vgcreate命令中加一個-s 參數即可:

[root@san iscsi]# vgremove vg0

Volume group "vg0" successfully removed

[root@san iscsi]# vgcreate -s 16MB vg0 /dev/sda5 /dev/sda6

Volume group "vg0" successfully created

[root@san iscsi]# vgscan

Reading all physical volumes. This may take a while...

Found volume group "vg0" using metadata type lvm2

Device '/dev/sda6' has been left open.

Device '/dev/sda5' has been left open.

[root@san iscsi]# vgdisplay

--- Volume group ---

VG Name vg0

System ID

Format lvm2

Metadata Areas 2

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 2

Act PV 2

VG Size 192.00 MB

PE Size 16.00 MB -這里我們看到PE 改成16MB了。

Total PE 12

Alloc PE / Size 0 / 0

Free PE / Size 12 / 192.00 MB

VG UUID A9w4ho-3Fdo-ELYl-VRqY-yhaZ-61rt-68sXsi

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529486.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529486.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529486.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux的nfs端口號,#Linux NFS服務 固定端口及防火墻配置#

#Linux NFS服務 固定端口及防火墻配置#1.在Linux上正常安裝NFS服務2.修改/etc/service,添加以下內容(端口號必須在1024以下,且未被占用)# Local servicesmountd 1011/tcp #rpc.mountdmountd 1011/udp #rpc.mountdrquotad 1012/tcp #rpc.rquotadrquotad 1012/udp #rp…

嵌入式linux添加環境變量,Linux環境變量

前言:1. 環境變量是操作系統環境設置的變量,適用于整個系統的用戶進程;2. 環境變量可以在命令中設置,但是用戶注銷的時候將會丟失這些設置值;3. 若要重復適用,則最好在.profile中定義;環境變量的…

eval函數linux,Python中的eval()、exec()及其相關函數

剛好前些天有人提到eval()與exec()這兩個函數,所以就翻了下Python的文檔。這里就來簡單說一下這兩個函數以及與它們相關的幾個函數,如globals()、locals()和compile():1. eval函數函數的作用:計算指定表達式的值。也就是說它要執行…

linux更改語言腳本,Linux shell腳本入門——shell語言腳本【CentOS】

認識腳本是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件。腳本語言又被稱為擴建的語言, 或者動態語言, 是一種編程語言, 用來控制軟件應用程序, 腳本通常是以文本 (ASCⅡ) 保存, 只是在被調用時進行解釋或者編譯。學習shell腳本的用途對于一個合格的系…

linux可用的ftp,linuxunix下有很多可用的ftp服務器

一、ftp服務器簡介linux/unix下有很多可用的ftp服務器,根據這些ftp服務器的可配置性大概可以分為3類:弱、中等、高。功能比較簡單的ftp服務器軟件有“ftpd”和“oftpd”。前者與ftp客戶端工具“ftp”類似,只實現了標準的ftp功能,支…

linux視圖版怎么輸入命令,分享在Linux命令下操作MySQL視圖實例代碼

視圖VIEW命令簡介:VIEW視圖就是存儲下來的SELECT語句數據1。創建視圖命令格式:創建[或更換][ALGORITHM {UNDEFINED | MERGE | 不是Temptable}][DEFINER {user | 當前用戶 }][SQL SECURITY {DEFINER | INVOKER}]VIEW view_name [(column_list)]AS selec…

寶塔linux 做負載均衡,利用BT寶塔面板做網站多服務器負載均衡圖文教程

對于我們做網站的來說,如果流量大了,一臺服務器肯定是不夠的,接下來要考慮很多方面,比如動靜分離、比如數據庫異步,比如負載均衡等等。因為我們很多新手站長都用的是BT寶塔面板,下面蝦皮路就介紹一下利用BT…

c語言程序設計移動字母,C語言程序設計模擬試題二(含答案)

C語言程序設計模擬試題二(含答案)1、下列電子郵件地址中正確的是(其中□表示空格)A) Malin&http://www.doczj.com/doc/2969157fa26925c52cc5bfdc.html B) malinhttp://www.doczj.com/doc/2969157fa26925c52cc5bfdc.htmlC) Lin□Ma&http://www.doczj.com/doc/2969157fa2…

c語言字符串輸出瘕b,c語言課件10tt函數(1)幻燈片資料(51頁)-原創力文檔

第 5 講 ;第 8 章 函 數;引例 1;引例2b;m1cmpmax( a , b );cmpmax(int x , int y ){ int z; zx>y?x:y; return (z);};說 明;8.2 函數的調用;main( ){int i2,p; pf( i , i ); printf("%d\n",p);}int f(int a, int b){int c; if (a>b) c1; else if (a b) c0; el…

50行以上c語言程序代碼,C語言非常簡單的字符統計程序50行

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓該程序用于實現linux系統中wc命令的最簡單模式wc 命令用于統計文件中字符信息。[xxlocalhost 1.5]$ wc 01.c 02.c 03.c15 23 131 01.c13 18 127 02.c14 20 128 03.c42 61 386 總用量使用c語言寫出這種小程序。/** Name: count.c* T…

語音編碼 c語言,語音編解碼算法G.723.1在DSP - 嵌入式新聞 - 電子發燒友網

1 引言G.723.1是刪組織于1996年推出的一種低碼率的語音編碼算法標準,也是目前該組織頒布的語音壓縮標準中碼率最低的一種標準。G.723.1主要用于對語音及其它多媒體聲音信號的壓縮,目前在一些數字音視頻傳輸、高質量語音壓縮等系統中都得到廣泛應用。2 G.…

四川大學 設計專業 C語言必修,四川大學C語言2001年真題_跨考網

一、單項選擇題(在每小題的四個備選答案中,選出一個正確的答案,并將其號碼寫在答題紙上。請注意注明題號。每小題1分,共計6分)1、‘\t’表示什么?①字符串常數②標識符③變量④字符常量答案:④2、對宏定義不正確的描述是哪一個?…

大整數乘法c語言數組,很大的數相乘怎么辦?

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓#include&nbsp #include&nbsp using&nbsp namespace&nbsp std;int&nbsp main(int&nbsp argc,&nbsp char&nbsp *argv[]){&nbsp &nbsp&nbsp &nbsp long&nbsp i,j, c,l…

血型遺傳關系c語言編程,根據血型遺傳關系,編程實現:○1.輸入

滿意答案df4dfw5e562017.05.28采納率:51% 等級:6已幫助:106人//僅作參考#include "stdio.h"#include "conio.h"#include "stdlib.h"#include "string.h"int studentNum 0;#define MAXSTUDENT (1…

linux tcb,在Linux中從潛藏密碼遷移至tcb怎么做?

潛藏密碼作為Linux產品的既定事實標準已經有好多年了,md5密碼的運用亦是如此。但是,運用傳統的潛藏密碼要領也有不足之處,甚至md5也不像以前那么安全了。潛藏密碼文件的一個缺點就是,任意一個須要查詢個別潛藏密碼(如您的密碼)的使…

android 通話結束廣播,在Android中以編程方式結束通話

侃侃爾雅您無需成為系統應用程序。首先,com.android.internal.telephony在您的項目中創建包,并將其放入名為“ ITelephony.aidl” 的文件中:package com.android.internal.telephony; interface ITelephony { boolean endCall(); vo…

android url 快捷方式,Android向桌面添加快捷方式,使其指向特定的(URL)網頁

/** 在桌面添加快捷方式* param icon 快捷方式圖標* param name 快捷方式名稱* param uri 快捷方式的intent Uri*/public void addShortcut(Parcelable icon, String name, Uri uri){Intent intentAddShortcut new Intent(ACTION_ADD_S…

帶nfc 的 android 華為,華為手機NFC功能,原來這么好用,不會用真可惜幾千塊錢了...

華為手機NFC功能,原來這么好用,不會用真可惜幾千塊錢了2019-05-06 17:40:259點贊12收藏6評論華為手機在國內也是數一數二的了,那么用華為手機的小伙伴,怎么能錯過華為手機中NFC的功能呢?下面就隨小編一起來了解一下吧。…

android adb apk包名,ADB命令簡單使用--查看包名、activity等

1、連接設備adb connect ip2、查看連接的設備adb devices3、安裝/卸載Android 應用adb install packagesnameadb uninstall packagesname4、查看設備安裝包名adb shell pm list packages5、查看安裝包的路勁adb shell pm path packagename6、包pull到本地adb shell pull 包路徑…

小米3升級android 6.0,可升級Android 6.0機型一覽 小米手機亮了

前不久,Android M被谷歌正式確定為6.0系統,代號Marshmallow,預計年底前發布。而對于普通用戶來說,最關心的就是自己的手機能不能升級。不過別著急,在此之前,我們不妨看看Android 6.0有哪些新功能。一、Andr…