目錄
- df,du,fdisk,parted
- 磁盤挂載,磁盤解除安裝,增加swap.do
- 拓展1:MBR,GPT
- 拓展2:PV,VG,LV,PE的關系
- 拓展3:raid知識
- 拓展4:DAS,SAN,NAS
- lvm操作
一.df,du,fdisk,parted
- 磁盤分區
擴充學習 parted分區gpt格式 http://www.apelearn.com/bbs/thread-7243-1-
- df指令
df 顯示檔案系統的磁盤使用情況統計
第一列:磁盤分區的名字
第二列:磁盤的總大小,機關kb
第三列:已用多少
第四列:可用多少
第五列:已用百分比
第六列:挂載點 系統裡的一個目錄,linux磁盤不能直接通路,需要通過一個挂載點才能通路
- df -h 根據磁盤大小,适當顯示機關
Byte 位元組 1024Byte=1kb
KB
MB
GB
TB
/dev/shm 記憶體,大小是實體記憶體的一般
- df -i 檢視Inode使用量
- df -m 以兆為機關顯示
- du指令
du指令也是檢視使用空間的,但是與df指令不同的是Linux du指令是對檔案和目錄磁盤使用的空間的檢視,還是和df指令有一些差別的。
- du -sh /root 檢視一個檔案大小或目錄大小
- du /root
- 磁盤分區(上)
右鍵虛拟機設定,添加一塊硬碟
- fdisk -l 檢視有沒有識别到,沒有 reboot重新開機
- 重新開機之後可以識别
- fdisk /dev/sdb fdisk加磁盤路徑
mbr分區,最高支援2T,最多隻有4個主分區
n 重新建立一個新分區
p 列出資訊
w 報錯
d 删除
輸入n
p主分區 e擴充分區
步驟
n 添加分區
p 檢視分區資訊
1 添加1主分區
直接回車
+2M 建立一個2M的分區
步驟
d 删除一個分區
4 4分區
- 磁盤分區(下)
删除主分區 分區号留白
删除擴充分區 分區号不留白
W 儲存退出
q 不儲存退出
邏輯分區從5分區号開始,1到4留給主分區和擴充分區,邏輯分區是連續的
擴充分區不支援格式化,裡面裝着邏輯分區,擴充分區隻是個殼子,真正寫資料的是邏輯分區
二.磁盤挂載,磁盤解除安裝,增加swap.do
- 磁盤格式化(上)
- mke2fs指令被用于建立磁盤分區上的“etc2/etc3”檔案系統。
- cat /etc/filesystems 檢視centos7支援的檔案格式
- mount 檢視目前系統檔案格式
centos7 xfs
ext4 centos6
ext3 centos5
- mke2fs -t xfs
-t 指定檔案系統格式
-b 指定塊大小
- mke2fs -t ext4 /dev/sdb1 格式化成ext4格式
- blkid /dev/sdb1 檢視沒有挂載的分區
- mkfs.xfs -f /dev/sdb1 格式化成xfs格式
- 磁盤格式化(下)
- mkfs.ext4 等于 mke2fs -t ext4(不支援xfs,需要配置)
- mke2fs -b 8192 /dev/sdb1 -b指定塊大小
- -m 指定分區預留的空間大小,5%預留給root使用者
- mkfs.ext4 -m 0.1 /dev/sdb1
- mke2fs -t ext4 /dev/sdb1 4個塊對應一個inodes
- mke2fs -i 8192 -t ext4 /dev/sdb1 -i指定多少個位元組指定一個inodes
- 磁盤挂載(上)
- mkfs.xfs /dev/sdb 格式化為xfs
- blkid /dev/sdb 檢視磁盤情況
不管有沒有分區都可以格式化
- mount /dev/sdb /mnt
- mount
- umount /dev/sdb 解除安裝挂載點
- umount -l /dev/sdb 強制解除安裝挂載點
- 磁盤挂載(下)
mount指令用于加載檔案系統到指定的加載點。此指令的最常用于挂載cdrom,使我們可以通路cdrom中的資料,因為你将CD光牒插入cdrom中,Linux并不會自動挂載,必須使用Linux mount指令來手動完成挂載。
挂載的選項
rw 可讀可寫
suid 允許這個分區裡的檔案設定suid權限
exec 是否可執行
auto 自動挂載
nouser 是否允許普通使用者挂載
sync 記憶體裡面的資料随時寫到磁盤
async 不會設定同步
remount 重新挂載
vi /etc/fstab 系統啟動預設挂載那些分區的配置檔案
第一列 裝置号
第二列 挂載點
第三列 分區格式
第四列 挂載選項 defaults 備份檔案系統
最後一列設定優先級 系統重新啟動檢查磁盤是否有問題
0 不檢測
1級别高于2
2
- 手動增加swap空間
dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
dd 操作磁盤
id 指定從哪裡讀
/dev/zero linux核心doulingqi 産生源源不斷的0
of 将0寫到那裡去
bs 指定每個塊的大小
du -sh /tmp/newdisk 檢視磁盤大小
mkswap /tmp/newdisk 格式化
swapon /tmp/newdisk 添加到swap
swapoff /tmp/newdisk 解除安裝swap
rm -f /tmp/newdisk 删除/tmp/newdisk
三.拓展1:MBR,GPT
- CHS(Cylinder-Head-Sector):
was an early method for giving addresses to each physical block of data on a hard disk drive.
1.1 Cylinder(柱面):
A cylinder comprises(包含,由…組成)【k?m'pra?z】 the same track number on each platter,
spanning(橫跨) all such tracks across(橫穿) each platter surface that is able to store data (without regard to whether or not the track is "bad").
Thus, it is a three-dimensional structure.
Any track comprising part of a specific cylinder can be written to and read from while the actuator assembly remains stationary,
and one way in which hard drive manufacturers have increased drive access speed has been by increasing the number of platters which can be read at the same time.
1.2 Head(磁頭):
A device called a head reads and writes data in a hard drive by manipulating the magnetic(有磁性的) [m?g'net?k] medium that composes the surface of an associated disk platter.
一個磁頭讀取的最基本機關是一個Head,每個Head大小512bytes
1.3 Sector(扇區):
A sector is the smallest storage unit that is addressable(可尋址的) by a hard drive, and all information stored by the hard drive is recorded in sectors.
象切蛋糕
1.4 Track
1.5 Block
- 磁盤在Linux中的表示
2.1 Linux所有裝置都被抽象為一個檔案,儲存在/dev/目錄下
2.2 磁盤按接口分為:(IDE、SATA、SAS、SCSI、USB)
2.2.1 IDE磁盤名稱一般為:hd【a-z】,【a-z】代表第幾塊磁盤;
2.2.2 SATA磁盤、SAS硬碟、SCSI硬碟、USB磁盤名稱一般為:sd【a-z】,【a-z】代表第幾塊磁盤;
例如:第一塊sata磁盤表示為:/dev/sda
第二塊sata磁盤表示為/dev/sdb
底下列出幾個常見的裝置與其在Linux當中的檔名
- 分區概念
3.1 将一個磁盤邏輯的分為幾個區,每個區當做獨立磁盤,以友善使用和管理
不同分區的名稱一般為:裝置名稱+分區号
例如:第一塊硬碟的第一個分區叫sda1,第一塊硬碟的第二個分區sda2
第二塊硬碟的第一個分區叫sdb1,第二塊硬碟的第二個分區叫sdb2
*分區并不是硬碟的實體功能,而是軟體功能
*主流的分區機制分為MBR和GPT兩種
MBR是PC架構計算機中使用的最為廣泛的分區機制
- MBR
4.1 MBR(Master Boot Record)是傳統的分區機制,應用于絕大多數使用BIOS引導的PC裝置(蘋果使用EFI的方式);很多Server伺服器即支援BIOS也支援EFI的引導方式
4.2 MBR的特點
4.2.1優點:MBR支援32bit和64bit系統;
4.2.2缺點:1) MBR支援的分區數量有限制;2)MBR隻支援不超過2TB的硬碟,超過2TB的硬碟隻能使用2TB的空間(但是有第三方解決方法),應為MBR的尋址空間隻有32bit長;
4.3 MBR結構:占用硬碟最開頭的512位元組
前446位元組為:引導代碼(Bootstrap Code Area)(引導不同的作業系統;不同作業系統,引導代碼是不一樣的)
接下來的為4個16位元組:分别對應4個主分區表資訊(Primary Partition Table)
最後2個位元組:為啟動标示(Boot Signature),永遠都是55和AA;55和AA是個永久性的标示,代表這個硬碟是可啟動的。
- MBR分區
MBR分區分為:主分區、擴充分區、邏輯分區
5.1 主分區:一塊硬碟最多隻能建立4個主分區(因為在MBR分區表結構中中最多可以建立4個主分區表資訊,也就是4個16位元組的空間,如上圖)
5.2 擴充分區:一個擴充分區會占用一個主分區的位置
5.3 邏輯分區:
1)是基于擴充分區建立出來的,先有擴充分區,然後在擴充分區的基礎上再建立邏輯分區;也就是說我們要使用邏輯分區,必須先要建立擴充分區;
2)擴充分區的空間是不能被直接使用的,我們必須在擴充分區的基礎上去建立邏輯分區,才能夠被使用;
3)Linux最多支援63個IDE分區和15個SCSI分區
PEL:Primary Partition;Extended Partition;Logical Partition
- GPT
GPT(GUID Partition Table):是一個較新的分區機制,解決了MBR的很多缺點
1)支援超過2TB的磁盤:GPT有64bit尋址空間;而MBR對硬碟空間位址尋址最多隻支援32bit,2的32次方,硬碟空間是以位址方式來被識别的,是以MBR隻支援容量為2TB以内的磁盤
2)向後相容MBR
3)但是底層硬體必須支援UEFI(Intel提出的取代BIOS的新一代的引導系統)才能使用,也就是底層硬體必須使用UEFI
4)必須使用64位作業系統
5)Mac、LInux系統都能支援GPT分區格式
6)Windows 7 64bit、Windows Server2008 64bit支援GPT
四.拓展2:PV,VG,LV,PE的關系
五.拓展3:raid知識
磁盤陣列(Redundant Arrays of Independent Disks,RAID),有“獨立磁盤構成的具有備援能力的陣列”之意。
磁盤陣列是由很多價格較便宜的磁盤,組合成一個容量巨大的磁盤組,利用個别磁盤提供資料所産生加成效果提升整個磁盤系統效能。利用這項技術,将資料切割成許多區段,分别存放在各個硬碟上。
磁盤陣列還能利用同位檢查(Parity Check)的觀念,在數組中任意一個硬碟故障時,仍可讀出資料,在資料重構時,将資料經計算後重新置入新硬碟中。
優點
- 提高傳輸速率。
- 通過資料校驗提供容錯功能。
缺點
RAID0沒有備援功能,如果一個磁盤(實體)損壞,則所有的資料都無法使用。
RAID1磁盤的使用率最高隻能達到50%(使用兩塊盤的情況下),是所有RAID級别中最低的。
RAID0+1以了解為是RAID 0和RAID 1的折中方案。RAID 0+1可以為系統提供資料安全保障,但保障程度要比 Mirror低而磁盤空間使用率要比Mirror高。
- RAID級别
- RAID 0
RAID 0是最早出現的RAID模式,即Data Stripping資料分條技術。RAID 0是組建磁盤陣列中最簡單的一種形式,隻需要2塊以上的硬碟即可,成本低,可以提高整個磁盤的性能和吞吐量。RAID 0沒有提供備援或錯誤修複能力,但實作成本是最低的。
RAID 0最簡單的實作方式就是把N塊同樣的硬碟用硬體的形式通過智能磁盤控制器或用作業系統中的磁盤驅動程式以軟體的方式串聯在一起建立一個大的卷集。在使用中電腦資料依次寫入到各塊硬碟中,它的最大優點就是可以整倍的提高硬碟的容量。如使用了三塊80GB的硬碟組建成RAID 0模式,那麼磁盤容量就會是240GB。其速度方面,各單獨一塊硬碟的速度完全相同。最大的缺點在于任何一塊硬碟出現故障,整個系統将會受到破壞,可靠性僅為單獨一塊硬碟的1/N。
2、RAID 1
RA
RAID 1示意圖
ID 1稱為磁盤鏡像,原理是把一個磁盤的資料鏡像到另一個磁盤上,也就是說資料在寫入一塊磁盤的同時,會在另一塊閑置的磁盤上生成鏡像檔案,在不影響性能情況下最大限度的保證系統的可靠性和可修複性上,隻要系統中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數量的硬碟出現問題時系統都可以正常運作,當一塊硬碟失效時,系統會忽略該硬碟,轉而使用剩餘的鏡像盤讀寫資料,具備很好的磁盤備援能力。雖然這樣對資料來講絕對安全,但是成本也會明顯增加,磁盤使用率為50%,以四塊80GB容量的硬碟來講,可利用的磁盤空間僅為160GB。另外,出現硬碟故障的RAID系統不再可靠,應當及時的更換損壞的硬碟,否則剩餘的鏡像盤也出現問題,那麼整個系統就會崩潰。更換新盤後原有資料會需要很長時間同步鏡像,外界對資料的通路不會受到影響,隻是這時整個系統的性能有所下降。是以,RAID 1多用在儲存關鍵性的重要資料的場合。
RAID 1主要是通過二次讀寫實作磁盤鏡像,是以磁盤控制器的負載也相當大,尤其是在需要頻繁寫入資料的環境中。為了避免出現性能瓶頸,使用多個磁盤控制器就顯得很有必要。
3、RAID0+1
從RA
RAID0+1示意圖
ID 0+1名稱上我們便可以看出是RAID0與RAID1的結合體。在我們單獨使用RAID 1也會出現類似單獨使用RAID 0那樣的問題,即
在同一時間内隻能向一塊磁盤寫入資料,不能充分利用所有的資源。為了解決這一問題,我們可以在磁盤鏡像中建立帶區集。因為這
種配置方式綜合了帶區集和鏡像的優勢,是以被稱為RAID 0+1。把RAID0和RAID1技術結合起來,資料除分布在多個盤上外,每個盤都有其實體鏡像盤,提供全備援能力,允許一個以下磁盤故障,而不影響資料可用性,并具有快速讀/寫能力。RAID0+1要在磁盤鏡像中建立帶區集至少4個硬碟。
4、RAID 2
将資料條塊化地分布于不同的硬碟上,條塊機關為位或位元組,并使用稱為“加重平均糾錯碼(漢明碼)”的編碼技術來提供錯誤檢查及恢複。
5、RAID 3
它同RAID 2非常類似,都是将資料條塊化分布于不同的硬碟上,差別在于RAID 3使用簡單的奇偶校驗,并用單塊磁盤存放奇偶校驗資訊。如果一塊磁盤失效,奇偶盤及其他資料盤可以重新産生資料;如果奇偶盤失效則不影響資料使用。RAID 3對于大量的連續資料可提供很好的傳輸率,但對于随機資料來說,奇偶盤會成為寫操作的瓶頸。
6、RAID 4
RAID 4同樣也将資料條塊化并分布于不同的磁盤上,但條塊機關為塊或記錄。RAID 4使用一塊磁盤作為奇偶校驗盤,每次寫操作都需要通路奇偶盤,這時奇偶校驗盤會成為寫操作的瓶頸,是以RAID 4在商業環境中也很少使用。
7、RAID 5
RAID 5不單獨指定的奇偶盤,而是在所有磁盤上交叉地存取資料及奇偶校驗資訊。在RAID 5上,讀/寫指針可同時對陣列裝置進行操作,提供了更高的資料流量。RAID 5更适合于小資料塊和随機讀寫的資料。RAID 3與RAID 5相比,最主要的差別在于RAID 3每進行一次資料傳輸就需涉及到所有的陣列盤;而對于RAID 5來說,大部分資料傳輸隻對一塊磁盤操作,并可進行并行操作。在RAID 5中有“寫損失”,即每一次寫操作将産生四個實際的讀/寫操作,其中兩次讀舊的資料及奇偶資訊,兩次寫新的資料及奇偶資訊。
六.拓展4:DAS,SAN,NAS
- 随着主機、磁盤、網絡等技術的發展,資料存儲的方式和架構也在一直不停改變,本文主要介紹目前主流的存儲架構。
- 存儲的分類
- 根據伺服器類型分為:
封閉系統的存儲(封閉系統主要指大型機)
開放系統的存儲(開放系統指基于Windows,Unix,Linux等作業系統的伺服器)
開放系統的存儲分為:内置存儲和外挂存儲;
外挂存儲根據連接配接的方式分為:直連式存儲(Direct-Attached Storage,簡稱DAS)和網絡化存儲(Fabric-Attached Storage,簡稱FAS);網絡化存儲根據傳輸協定又分為:網絡接入存儲(Network-Attached Storage,簡稱NAS)和存儲區域網絡(Storage Area Network,簡稱SAN)。看下圖,可以清晰的了解剛才的描述。
常見三種存儲架構 DAS、NAS、SAN比較,差別說明:
- DAS存儲 (直連式存儲Direct-Attached Storage)
DAS存儲在我們生活中是非常常見的,尤其是在中小企業應用中,DAS是最主要的應用模式,存儲系統被直連到應用的伺服器中,在中小企業中,許多的資料應用是必須安裝在直連的DAS存儲器上。
DAS存儲更多的依賴伺服器主機作業系統進行資料的IO讀寫和存儲維護管理,資料備份和恢複要求占用伺服器主機資源(包括CPU、系統IO等),資料流需要回流主機再到伺服器連接配接着的錄音帶機(庫),資料備份通常占用伺服器主機資源20-30%,是以許多企業使用者的日常資料備份常常在深夜或業務系統不繁忙時進行,以免影響正常業務系統的運作。直連式存儲的資料量越大,備份和恢複的時間就越長,對伺服器硬體的依賴性和影響就越大。
直連式存儲與伺服器主機之間的連接配接通道通常采用SCSI連接配接,随着伺服器CPU的處理能力越來越強,存儲硬碟空間越來越大,陣列的硬碟數量越來越多,SCSI通道将會成為IO瓶頸;伺服器主機SCSI ID資源有限,能夠建立的SCSI通道連接配接有限。
無論直連式存儲還是伺服器主機的擴充,從一台伺服器擴充為多台伺服器組成的群集(Cluster),或存儲陣列容量的擴充,都會造成業務系統的停機,進而給企業帶來經濟損失,對于銀行、電信、傳媒等行業7×24小時服務的關鍵業務系統,這是不可接受的。并且直連式存儲或伺服器主機的更新擴充,隻能由原裝置廠商提供,往往受原裝置廠商限制。
- NAS存儲 (網絡接入存儲Network-Attached Storage)
NAS存儲也通常被稱為附加存儲,顧名思義,就是儲存設備通過标準的網絡拓撲結構(例如以太網)添加到一群計算機上。NAS是檔案級的存儲方法,它的重點在于幫助工作組和部門級機構解決迅速增加存儲容量的需求。如今使用者采用NAS較多的功能是用來文檔共享、圖檔共享、電影共享等等,而且随着雲計算的發展,一些NAS廠商也推出了雲存儲功能,大大友善了企業和個人使用者的使用。
NAS産品是真正即插即用的産品。NAS裝置一般支援多計算機平台,使用者通過網絡支援協定可進入相同的文檔,因而NAS裝置無需改造即可用于混合Unix/Windows NT區域網路内,同時NAS的應用非常靈活。
但NAS又一個關鍵性問題,即備份過程中的帶寬消耗。與将備份資料流從LAN中轉移出去的存儲區域網(SAN)不同,NAS仍使用網絡進行備份和恢複。NAS 的一個缺點是它将存儲事務由并行SCSI連接配接轉移到了網絡上。這就是說LAN除了必須處理正常的最終使用者傳輸流外,還必須處理包括備份操作的存儲磁盤請求。
- SAN存儲 (存儲區域網絡Storage Area Network)
存儲區域網絡,從名字上我們也可以看出,這個是通過光纖通道交換機連接配接存儲陣列和伺服器主機,最後成為一個專用的存儲網絡。SAN經過十多年曆史的發展,已經相當成熟,成為業界的事實标準(但各個廠商的光纖交換技術不完全相同,其伺服器和SAN存儲有相容性的要求)。
SAN提供了一種與現有LAN連接配接的簡易方法,并且通過同一實體通道支援廣泛使用的SCSI和IP協定。SAN不受現今主流的、基于SCSI存儲結構的布局限制。特别重要的是,随着存儲容量的爆炸性增長,SAN允許企業獨立地增加它們的存儲容量。SAN的結構允許任何伺服器連接配接到任何存儲陣列,這樣不管資料置放在那裡,伺服器都可直接存取所需的資料。因為采用了光纖接口,SAN還具有更高的帶寬。
如今的SAN解決方案通常會采取以下兩種形式:光纖信道以及iSCSI或者基于IP的SAN,也就是FC SAN和IP SAN。光纖信道是SAN解決方案中大家最熟悉的類型,但是,最近一段時間以來,基于iSCSI的SAN解決方案開始大量出現在市場上,與光纖通道技術相比較而言,這種技術具有良好的性能,而且價格低廉。
SAN真正的綜合了DAS和NAS兩種存儲解決方案的優勢。例如,在一個很好的SAN解決方案實作中,你可以得到一個完全備援的存儲網絡,這個存儲網絡具有不同尋常的擴充性,确切地說,你可以得到隻有NAS存儲解決方案才能得到的幾百T位元組的存儲空間,但是你還可以得到塊級資料通路功能,而這些功能隻能在DAS解決方案中才能得到。對于資料通路來說,你還可以得到一個合理的速度,對于那些要求大量磁盤通路的操作來說,SAN顯得具有更好的性能。利用SAN解決方案,你還可以實作存儲的集中管理,進而能夠充分利用那些處于空閑狀态的空間。更有優勢的一點是,在某些實作中,你甚至可以将伺服器配置為沒有内部存儲空間的伺服器,要求所有的系統都直接從SAN(隻能在光纖通道模式下實作)引導。這也是一種即插即用技術。
SAN确實具有這些偉大的優點,那麼,SAN的缺陷在哪裡?SAN有兩個較大的缺陷:成本和複雜性,特别是在光纖信道中這些缺陷尤其明顯。使用光纖信道的情況下,合理的成本大約是1TB或者2TB大概需要五萬到六萬美金。從另一個角度來看,雖然新推出的基于iSCSI的SAN解決方案大約隻需要兩萬到三萬美金,但是其性能卻無法和光纖信道相比較。在價格上的差别主要是由于iSCSI技術使用的是現在已經大量生産的吉比特以太網硬體,而光纖通道技術要求特定的價格昂貴的裝置。
因為SAN解決方案是從基本功能剝離出存儲功能,是以運作備份操作就無需考慮它們對網絡總體性能的影響。SAN方案也使得管理及集中控制實作簡化,特别是對于全部儲存設備都叢集在一起的時候。最後一點,光纖接口提供了10公裡的連接配接長度,這使得實作實體上分離的、不在機房的存儲變得非常容易。
總結:最後概括一下就是,DAS存儲一般應用在中小企業,與計算機采用直連方式,NAS存儲則通過以太網添加到計算機上,SAN存儲則使用FC接口,提供性能更加的存儲。
- SAN與NAS的主要差別展現在作業系統在什麼位置,如下圖所示:
如今,随着移動計算時代的來臨,更多的非結構化資料産生,這對NAS和SAN都是一個挑戰,NAS+SAN将是未來主要的存儲解決方案,也就是目前比較熱門的統一存儲。既然是一個集中化的磁盤陣列,那麼就支援主機系統通過IP網絡進行檔案級别的資料通路,或通過光纖協定在SAN網絡進行塊級别的資料通路。同樣,iSCSI亦是一種非常通用的IP協定,隻是其提供塊級别的資料通路。這種磁盤陣列配置多端口的存儲控制器和一個管理接口,允許存儲管理者按需建立存儲池或空間,并将其提供給不同通路類型的主機系統。
統一存儲系統:前端主機接口可支援FC 8Gb、iSCSI 1Gb和iSCSI 10Gb,後端具備SAS 6Gb硬碟擴充接口,可支援SAS、SATA硬碟及SSD固态硬碟具備極佳的擴充能力。實作FC SAN與IP SAN、各類存儲媒體的完美融合,有效整合使用者現有存儲網絡架構,實作高性能SAN網絡的統一部署和集中管理,以适應業務和應用變化的動态需求。主機接口及硬碟接口均采用子產品化設計,更換主機接口或硬碟擴充接口,無須更換固件,可大大簡化更新維護的難度和工作量。
- 應用場景
DAS雖然比較古老了,但是還是很适用于那些資料量不大,對磁盤通路速度要求較高的中小企業;
NAS多适用于檔案伺服器,用來存儲非結構化資料,雖然受限于以太網的速度,但是部署靈活,成本低;
SAN則适用于大型應用或資料庫系統,缺點是成本高、較複雜。
七.lvm操作
- LVM講解(擴容縮容)
概念:LVM是logical volume manager的縮寫(邏輯分區),友善對于對圈組、邏輯卷的大小進行調整,更進一步調整檔案系統的大小。 優點:在使用很多硬碟的大系統中,使用LVM主要是友善管理、增加了系統的擴充性。
- 準備磁盤分區,先把硬碟umount
- 第一步:
添加硬碟進行分區:
[root@localhost ~]# fdisk /dev/sdb
- 第二步:建立三個新分區,分别是1G, n
- 第三步:-t 改變分區類型為8e(LVM),隻有這樣才可以做實體卷
指令(輸入 m 擷取幫助):t
分區号 (1,2,預設 2):1
Hex 代碼(輸入 L 列出所有代碼):8e
.
裝置 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 8e Linux LVM
/dev/sdb2 2099200 4196351 1048576 8e Linux LVM
/dev/sdb3 4196352 6293503 1048576 8e Linux LVM
- 接下來準備實體卷
- 安裝個指令 pvcreate(建立實體卷、列出當卡實體卷、删除實體卷)
- 如果在這裡你知道這個指令,但是你安裝不了這個包,那就使用如下指令安裝,利用通配的指令安裝
[root@localhost ~]# yum provides "/*/pvcreate" 根下所有檔案裡面pvcreate的指令
[root@localhost ~]# yum install -y lvm2 #ok,依賴包都安裝完畢
- 如果建立完分區後,目錄下并沒有這個路徑,使用 partprobe添加進去
[root@localhost ~]# ls /dev/sdb1
ls: cannot access /dev/sdb1: No such file or directory #沒有那個檔案或目錄
[root@localhost ~]# partprobe 添加分區的路徑,自動生成
[[email protected] ~]# ls /dev/sdb1 檢視分區是否存在
/dev/sdb1
- 接下來把三個分區,全部改成實體卷
[[email protected] ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created. #已成功建立實體卷
[[email protected] ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created. #已成功建立實體卷
[[email protected] ~]# pvcreate /dev/sdb3
Physical volume "/dev/sdb3" successfully created. #已成功建立實體卷
- **實體機建立完成以後,用pvdisplay檢視一下實體卷**
[[email protected] ~]# pvdisplay
或者[email protected] ~]# pvs
- 建立卷組vgcreate vg1 /dev/sdb1 /dev/sdb2,vg1是卷組的名字
[[email protected] ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2
Volume group "vg1" successfully created #建立成功
- 檢視卷組的資訊 vgdisplay或者vgs
[[email protected] ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 0 0 wz--n- 1.99g 1.99g
- vgremove 删除卷組的指令
- 建立邏輯卷
[[email protected] ~]# lvcreate -L 100M -n lv1 vg1
Logical volume "lv1" created. #建立成功
- lvcreate建立邏輯卷,-L 100M指定大小,-n lv1 邏輯卷的名字,vg1從卷組裡面調用出來
- 格式化成mkfs.ext4,适合做擴容
[[email protected] ~]# mkfs.ext4 /dev/vg1/lv1
- 挂載邏輯卷
[[email protected] ~]# mount /dev/vg1/lv1 /mnt/ #挂載到/mnt/下
[[email protected] ~]# df -h #檢視挂載
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 1.1G 17G 7% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/mapper/vg1-lv1 93M 1.6M 85M 2% /mnt #這裡名字怎麼跟挂載的不一樣呢,下面會解釋
- 用ls -l 檢視一下這倆個路徑的依賴關系。
- 實際上這倆個路徑都指向了一個檔案
- 下面來做一下擴容的操作,先建立個目錄和檔案
[[email protected] ~]# mkdir /mnt/111 #建立個目錄
[[email protected] ~]# touch /mnt/222.txt #建立個檔案
[[email protected] ~]# echo "123123123" > /mnt/222.txt #給檔案裡追加文字
- 擴容邏輯卷
- 重新設定卷大小,先umount
[[email protected] ~]# lvresize -L 200M /dev/vg1/lv1
- 檢查磁盤錯誤 (ext4執行)
[[email protected] ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes #檢查inodes,塊和大小
Pass 2: Checking directory structure #檢查目錄結構
Pass 3: Checking directory connectivity #檢查目錄連結
Pass 4: Checking reference counts #檢查引用計數
Pass 5: Checking group summary information #檢查組摘要資訊
/dev/vg1/lv1: 13/25688 files (7.7% non-contiguous), 8899/102400 blocks
- 更新邏輯卷資訊,如果不更新,再挂載的時候無法更新新的大小(ext4執行)
[[email protected] ~]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 204800 (1k) blocks. #調整檔案系統到204800(1K)塊的大小
The filesystem on /dev/vg1/lv1 is now 204800 blocks long. #檔案系統上 現在是204800大小。
- 挂載,在檢視檔案大小
[[email protected] ~]# !mount
mount /dev/vg1/lv1 /mnt/
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 1.1G 17G 7% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/mapper/vg1-lv1 190M 1.6M 175M 1% /mnt #注意這一行,容量是190M,已使用1.6M,可用175M. 修改完成。
- 再看看剛才建立的檔案還存在嗎
[[email protected] ~]# ls /mnt/
111 222.txt lost+found
[[email protected] ~]# cat /mnt/222.txt
123123123
- 縮減邏輯卷(xfs不支援)
- 先umount 不挂載
[[email protected] ~]# umount /mnt/
- 檢查磁盤錯誤
[[email protected] ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes #檢查inodes,塊和大小
Pass 2: Checking directory structure #檢查目錄結構
Pass 3: Checking directory connectivity #檢查目錄連結
Pass 4: Checking reference counts #檢查引用計數
Pass 5: Checking group summary information #檢查組摘要資訊
/dev/vg1/lv1: 13/25688 files (7.7% non-contiguous), 8899/102400 blocks
- 更新邏輯卷資訊
[[email protected] ~]# resize2fs /dev/vg1/lv1 100M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 102400 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 102400 blocks long.
- 重新設定卷大小
[[email protected] ~]# lvresize -L 100M /dev/vg1/lv1
WARNING: Reducing active logical volume to 100.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: y #這裡詢問可能會對檔案造成資料丢失,是否還需要執行,測試就選y就可以了
Size of logical volume vg1/lv1 changed from 200.00 MiB (50 extents) to 100.00 MiB (25 extents).#邏輯卷已從200M縮減成100M
Logical volume vg1/lv1 successfully resized. #調整大小成功**
- 然後lvs看一下邏輯卷大小是否修改完成
- 接下來挂載
[[email protected] ~]# mount /dev/vg1/lv1 /mnt/
↑↑↑↑↑ 如上内容隻針對etf4、3、2 ↑↑↑↑↑
.
- xfs檔案擴容
- 首先 更新邏輯卷資訊,需取消挂載umount
[[email protected] ~]# mkfs.xfs -f /dev/vg1/lv1
- 再次挂載,檢視裡面是否有檔案(因為是空的,正常是沒有) 建立個檔案和目錄
[[email protected] ~]# !mount #挂載
mount /dev/vg1/lv1 /mnt/
[[email protected] ~]# ls /mnt/ #檢視挂載目錄裡是否有東西
[[email protected] ~]# mkdir /mnt/123 #建立目錄123
[[email protected] ~]# touch /mnt/222.txt #建立檔案222.txt
[[email protected] ~]# echo "213aa" > /mnt/222.txt 給檔案222.txt追加内容
[[email protected] ~]# ls /mnt/ #檢視目錄下的檔案及目錄
123 222.txt
[[email protected] ~]# cat /mnt/222.txt #檢視檔案内容
213aa
- lvs檢視現在有多大
[[email protected] ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 100.00m #現有100M
注:xfs不需要解除安裝,直接添加大小即可,跟ext不一樣。
- 擴容大小300M
[[email protected] ~]# xfs_growfs -L 300M /dev/vg1/lv1
現在檢視 大小還沒有變
xfs檔案系統需要執行 xfs_growfs /dev/vg1/lv1
df -h 看挂載大小是否成功
ok,成功,300M
.
- 擴充卷組
檢視現在的卷組大小 vgs
[[email protected] ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 1 0 wz--n- 1.99g <1.70g
之前分區分了3個,還有一個沒有用,先擴容卷組
[[email protected] ~]# vgextend vg1 /dev/sdb3
Volume group "vg1" successfully extended
檢視現在多大
[[email protected] ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 3 1 0 wz--n- <2.99g <2.70g
現在是3個G了
- 再重新設定卷大小
[[email protected] ~]# lvresize -L 100M /dev/vg1/lv1
轉載于:https://my.oschina.net/u/3912766/blog/1922740