linux 存儲管理

物理硬盤 ==> 分區規劃 ==> 格式化 ==> 讀/寫文檔node

分區
MBR 不大於2TB
傳統MBR分區模式
1~4個主分區 //理論上
0~3個主分區+1個擴展分區(n個邏輯分區) //實際上
注意事項
– MBR分區表只能記錄4個主分區,編號範圍1-4
– 當有必要使用4個以上分區時,須要創建擴展分區(佔主分區編號),擴展分區最多隻能有1個
– 擴展分區做爲一箇中間性質的容器,從其中再劃分出的分區空間即爲邏輯分區
格式化
賦予文件系統
數據在空間中,存儲的規則,排列的方式
NTFS(windows 默認)
EXT4 RHEL6默認
XFS RHEL7默認
SWAP 虛擬內存
目錄結構
/ 根目錄 :存放全部數據(Linux系統的起點)
/dev 設備文件
磁盤表示方式
hd,表示IDE設備
sd,表示SCSI設備
硬盤分區管理
磁道:track 每一個磁道 63 個扇區
扇區:sector 每一個扇區 512 個字節
磁頭:head
柱面:cylinder 柱面大小=磁道容量盤面數量
硬盤總容量=柱面數
磁頭數單磁道扇區數單個容量扇區大小(通常初始爲512字節)
MBR/msdos 分區模式
1~4個主分區,或者0~3個主分區+1個擴展分區(n個邏輯分區)
最大支持容量位2.2TB的磁盤
擴展分區不能格式化linux

一,查看但前有那些磁盤vim

[root@localhost ~]# ls /dev/vd*
    /dev/vda  /dev/vda1  /dev/vdb
    [root@localhost ~]# lsblk
    NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    vda    253:0    0  10G  0 disk 
    └─vda1 253:1    0  10G  0 part /
    vdb    253:16   0  10G  0 disk

二.如何劃分分區
使用fdisk分區工具(之支持MBR)
查看分區
fdisk -l
例:windows

[root@localhost ~]# fdisk -l /dev/vdb
    磁盤 /dev/vdb:10.7 GB, 10737418240 字節,20971520 個扇區
    Units = 扇區 of 1 * 512 = 512 bytes
    扇區大小(邏輯/物理):512 字節 / 512 字節
    I/O 大小(最小/最佳):512 字節 / 512 字節

修改硬盤的分區表
fdisk 硬盤設備
例:app

[root@localhost ~]# fdisk /dev/vdb
    歡迎使用 fdisk (util-linux 2.23.2)。
    更改將停留在內存中,直到您決定將更改寫入磁盤。
    使用寫入命令前請三思。
    Device does not contain a recognized partition table
    使用磁盤標識符 0xada4991d 建立新的 DOS 磁盤標籤。
    命令(輸入 m 獲取幫助):

經常使用交互指令
m 列出指令幫助
p 查看如今的分區表
n 新建分區
d 刪除分區
q 放棄更改並退出
w 保存更改並退出
例:運維

[root@localhost ~]# lsblk
    NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    vda    253:0    0  10G  0 disk 
    └─vda1 253:1    0  10G  0 part /
    vdb    253:16   0  10G  0 disk 
    ├─vdb1 253:17   0   1G  0 part /part1
    ├─vdb2 253:18   0   2G  0 part /part2
    └─vdb3 253:19   0   3G  0 part /part3

三.格式化分區
經常使用的格式化工具
mkfs 工具集
mkfs.文件系統 分區設備路徑
mkfs.ext3 分區設備路徑
mkfs.ext4 分區設備路徑
mkfs.xfs 分區設備路徑
mkfs.vfat -F 32 分區設備路徑
例:ide

[root@localhost ~]# mkfs.
    mkfs.btrfs   mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat    
    mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs(linux7有)

四.掛載使用工具

[root@localhost ~]# mkdir /part1
    [root@localhost ~]# mkdir /part2
    [root@localhost ~]# mkdir /part3
    [root@localhost ~]# mount /dev/vdb1 /part1
    [root@localhost ~]# mount /dev/vdb2 /part2
    [root@localhost ~]# mount /dev/vdb3 /part3

五.查看掛載使用狀況測試

[root@localhost ~]# df -h
    文件系統                     容量  已用  可用 已用% 掛載點
    /dev/vda1                     10G  3.1G  6.9G   31% /
    devtmpfs                     906M     0  906M    0% /dev
    tmpfs                        921M   80K  921M    1% /dev/shm
    tmpfs                        921M   17M  904M    2% /run
    tmpfs                        921M     0  921M    0% /sys/fs/cgroup
    172.25.254.254:/home/guests   10G  3.2G  6.9G   32% /home/guests
    /dev/vdb1                    976M  1.3M  908M    1% /part1
    /dev/vdb2                    2.0G  6.0M  1.8G    1% /part2
    /dev/vdb3                    3.0G   33M  3.0G    2% /part3

擴展:
緩解根分區壓力
能夠將新建一個分區vdb5
mount /dev/vdb5 /mnt
cp -r /home/ /mnt/
rm -rf /home/

umount /mnt/
mount /dev/vdb5 /home
六.劃分擴展分區ui

# fdisk  /dev/vdb
   p 查看分區表                 
   n 建立新的分區
      ----->回車---->起始回車----->結束回車  將全部空間給擴展分區

   p 查看分區表
   n 建立新的分區----->起始回車------>結束+1G
   n 建立新的分區----->起始回車------>結束+1G
   p 查看分區表
   w 保存並退出
[root@localhost ~]# ls /dev/vdb*
/dev/vdb  /dev/vdb1  /dev/vdb2  /dev/vdb3
[root@localhost ~]# partprobe       #刷新分區表
[root@localhost ~]# ls /dev/vdb*
/dev/vdb  /dev/vdb1  /dev/vdb2  /dev/vdb3  /dev/vdb4  /dev/vdb5  /dev/vdb6
[root@localhost ~]# lsblk 
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    253:0    0  10G  0 disk 
└─vda1 253:1    0  10G  0 part /
vdb    253:16   0  10G  0 disk 
├─vdb1 253:17   0   1G  0 part /part1
├─vdb2 253:18   0   2G  0 part /part2
├─vdb3 253:19   0   3G  0 part /part3
├─vdb4 253:20   0   1K  0 part 
├─vdb5 253:21   0   1G  0 part 
└─vdb6 253:22   0   1G  0 part

開機自動掛載 /etc/fstab

設備路徑    掛載點     類型   參數     備份標記     檢測順序
/dev/vdb3   /part3  xfs defaults      0        0
/dev/vdb2   /part2  ext4    defaults      0        0
[root@server0 ~]# vi /etc/fstab 
[root@server0 ~]# tail -2 /etc/fstab 
/dev/vdb3 /part3 xfs defaults 0 0
/dev/vdb2 /part2 ext4 defaults 0 0

驗證:
mount -a
檢測/etc/fstab開機自動掛載配置文件,格式是否正確
檢測/etc/fstab中,書寫完成,但當前沒有掛載的設備,進行掛載
df -h
補充: blkid 文件目錄 #查看分區UUID

總結
1.lsblk 查看硬盤信息
2.fdisk 分區
3.partprobe 刷新 新的分區表
4.mkfs.xfs 格式化分區
5.mount 掛載測試
6./etc/fstab 開機自動掛載

練習: 劃分/dev/vdc[1-3]主分區10G,劃分擴展分區,在劃分兩個邏輯分區10G

fdisk /dev/vdc

p 查看分區表    
   n 建立新的分區
      ------>回車--->回車--->回車--->在last結束時+10G         
   n 建立新的分區
      ----->回車---->起始回車----->結束回車  將全部空間給擴展分區
   p 查看分區表
   n 建立新的分區----->起始回車------>結束+10G
   p 查看分區表
   w 保存並退出

LVM邏輯卷
1.管理分散的空間
2.邏輯捲動態的擴大與縮減
LVM工做方式
零散空間存儲 ---> 整合的虛擬磁盤 ---> 虛擬的分區
物理卷PV 卷組VG 邏輯卷LV
首先將衆多的物理卷組(PV)成卷組(VG),在從卷組中劃分出邏輯卷(LV)
LVM管理工具集
scan 掃描
create 建立
display 顯示
remove 刪除
extends 擴展
一.建立物理卷與卷組
vgcreate 卷組名 空閒分區
lvcreate -L 大小 -n 名稱 卷組名

[root@server0 ~]# vgcreate myvg /dev/vdc[1-2]
  Physical volume "/dev/vdc1" successfully created
  Physical volume "/dev/vdc2" successfully created
[root@server0 ~]# pvs           #顯示物理卷基本信息
  PV         VG   Fmt  Attr PSize  PFree 
  /dev/vdc1  myvg lvm2 a--  10.00g 10.00g
  /dev/vdc2  myvg lvm2 a--  10.00g 10.00g
[root@server0 ~]# vgs           #顯示卷組基本信息
  VG   #PV #LV #SN Attr   VSize  VFree 
  myvg   2   0   0 wz--n- 19.99g 19.99g

二.建立邏輯卷(邏輯卷的大小不能超過卷組)
lvcreate -L 邏輯卷大小 - n 邏輯卷的名稱 卷組名

[root@server0 ~]# lvcreate -L 16G -n mylv myvg
      Logical volume "mylv" created
    [root@server0 ~]# vgs
      VG   #PV #LV #SN Attr   VSize  VFree
      myvg   2   1   0 wz--n- 19.99g 3.99g
    [root@server0 ~]# lvs
      LV   VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
      mylv myvg -wi-a----- 16.00g

三.使用邏輯卷

[root@server0 ~]# mkfs.ext4 /dev/myvg/mylv 
    [root@server0 ~]# mkdir /lvm
    [root@server0 ~]# vim /etc/fstab 
    ...
    /dev/myvg/mylv /lvm ext4 defaults 0 0
    ...
    [root@server0 ~]# mount -a
    [root@server0 ~]# df -h

邏輯卷擴展(支持線上操做)
lvextend -L 新大小 /dev/卷組名/邏輯卷名
一.卷組有足夠的剩餘空間
1.直接擴展邏輯卷的空間

[root@server0 ~]# lvs
      LV   VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
      mylv myvg -wi-a----- 16.00g   
    [root@server0 ~]# lvextend -L 18G /dev/myvg/mylv 
      Extending logical volume mylv to 18.00 GiB
      Logical volume mylv successfully resized
    [root@server0 ~]# lvs
      LV   VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
      mylv myvg -wi-ao---- 18.00g      
    [root@server0 ~]# df -h
    文件系統               容量  已用  可用 已用% 掛載點
    /dev/vda1               10G  3.1G  7.0G   31% /
    devtmpfs               906M     0  906M    0% /dev
    tmpfs                  921M   80K  921M    1% /dev/shm
    tmpfs                  921M   17M  904M    2% /run
    tmpfs                  921M     0  921M    0% /sys/fs/cgroup
    /dev/vdb3              3.0G   33M  3.0G    2% /part3
    /dev/vdb2              2.0G  6.0M  1.8G    1% /part2
    /dev/mapper/myvg-mylv   16G   45M   15G    1% /lvm
2.擴展文件系統的大小
    擴展ext4文件系統:resize2fs /dev/myvg/mylv

        [root@server0 ~]# resize2fs /dev/myvg/mylv 
        resize2fs 1.42.9 (28-Dec-2013)
        Filesystem at /dev/myvg/mylv is mounted on /lvm; on-line resizing required
        old_desc_blocks = 2, new_desc_blocks = 3
        The filesystem on /dev/myvg/mylv is now 4718592 blocks long.

        [root@server0 ~]# df -h
        文件系統               容量  已用  可用 已用% 掛載點
        /dev/vda1               10G  3.1G  7.0G   31% /
        devtmpfs               906M     0  906M    0% /dev
        tmpfs                  921M   80K  921M    1% /dev/shm
        tmpfs                  921M   17M  904M    2% /run
        tmpfs                  921M     0  921M    0% /sys/fs/cgroup
        /dev/vdb3              3.0G   33M  3.0G    2% /part3
        /dev/vdb2              2.0G  6.0M  1.8G    1% /part2
        /dev/mapper/myvg-mylv   18G   44M   17G    1% /lvm

    擴展xfs文件系統:xfs_growfs /dev/myvg/mylv

二.卷組沒有剩餘空間
vgextend 卷組名 空閒分區

[root@server0 ~]# vgs
  VG   #PV #LV #SN Attr   VSize  VFree
  myvg   2   1   0 wz--n- 19.99g 1.99g

1.先擴展卷組

[root@server0 ~]# vgextend myvg /dev/vdc3
      Physical volume "/dev/vdc3" successfully created
      Volume group "myvg" successfully extended

2.擴展邏輯卷的空間
3.擴展文件系統大小

邏輯捲縮減 (運維幾乎不用)
先縮減文件系統 在縮減空間

[root@server0 ~]# resize2fs /dev/myvg/mylv 10G
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/myvg/mylv is mounted on /lvm; on-line resizing required
resize2fs: On-line shrinking not supported
[root@server0 ~]# umount /lvm
[root@server0 ~]# resize2fs /dev/myvg/mylv 10G
resize2fs 1.42.9 (28-Dec-2013)
請先運行 'e2fsck -f /dev/myvg/mylv'.
[root@server0 ~]# e2fsck -f /dev/myvg/mylv 
e2fsck 1.42.9 (28-Dec-2013)
第一步: 檢查inode,塊,和大小
第二步: 檢查目錄結構
第3步: 檢查目錄鏈接性
Pass 4: Checking reference counts
第5步: 檢查簇概要信息
/dev/myvg/mylv: 11/1638400 files (0.0% non-contiguous), 146871/6553600 blocks
[root@server0 ~]# resize2fs /dev/myvg/mylv 10G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/myvg/mylv to 2621440 (4k) blocks.
The filesystem on /dev/myvg/mylv is now 2621440 blocks long.
[root@server0 ~]# mount -a
[root@server0 ~]# df -h
文件系統               容量  已用  可用 已用% 掛載點
/dev/vda1               10G  3.1G  7.0G   31% /
devtmpfs               906M     0  906M    0% /dev
tmpfs                  921M   80K  921M    1% /dev/shm
tmpfs                  921M   17M  904M    2% /run
tmpfs                  921M     0  921M    0% /sys/fs/cgroup
/dev/vdb3              3.0G   33M  3.0G    2% /part3
/dev/vdb2              2.0G  6.0M  1.8G    1% /part2
/dev/mapper/myvg-mylv  9.8G   37M  9.3G    1% /lvm

PE:卷組劃分空間的單位,4M(默認)
建立卷組的時候設置PE大小
vgcreate -s PE大小 卷組名 空閒分區
lvcreate -l PE的個數 -n 邏輯卷名 卷組名
RHEL6 CE
請建立一個邏輯卷 大小位250M,名字爲lvmtest (由於PE默認時4M 分區只會分給252M )

[root@server0 ~]# vgchange -s 1M myvg 
Volume group "myvg" successfully changed
[root@server0 ~]# vgdisplay
...
 PE Size               1.00 MiB
...
[root@server0 ~]# lvcreate -l 250  -n test myvg         # 250個PE(1M)
或是  
[root@server0 ~]# lvcreate -L 250M  -n test myvg

管理交換空間
至關於虛擬內存
當物理內存不夠用時,使用磁盤空間來模擬內存
在必定成都上緩解內存不足的問題
交換分區:以空閒分區充當的交換空間

[root@server0 ~]# mkswap /dev/vdc5          #格式化SWAP命令
    正在設置交換空間版本 1,大小 = 10485756 KiB  
    無標籤,UUID=7034ba6a-908d-49c3-b213-c75be9c94625
    [root@server0 ~]# swapon /dev/vdc5          #啓動交換空間
    [root@server0 ~]# swapon -s             #查看SWAP狀態
    文件名             類型      大小  已用  權限
    /dev/vdc5                               partition   10485756    0   -1
    [root@server0 ~]# mkswap /dev/vdc6
    [root@server0 ~]# swapon /dev/vdc6
    [root@server0 ~]# swapon -s
    文件名             類型      大小  已用  權限
    /dev/vdc5                               partition   10485756    0   -1
    /dev/vdc6                               partition   10485756    0   -2
    [root@server0 ~]# swapoff /dev/vdc5         #中止交換空間
    [root@server0 ~]# swapon -s
    文件名             類型      大小  已用  權限
    /dev/vdc6                               partition   10485756    0   -1

開機自動掛載

[root@server0 ~]# vi /etc/fstab
    ...
    /dev/vdc5 swap swap defaults 0 0
    ...
    [root@server0 ~]# swapon -a             #專用於檢測swap分區
    [root@server0 ~]# swapon -s
    文件名             類型      大小  已用  權限
    /dev/vdc5                               partition   10485756    0   -2
    /dev/vdc6                               partition   10485756    0   -1  
   使用UUID 完成開機自動掛載
    blkid 文件目錄  #查看設備UUID的信息
    [root@server0 ~]# blkid /dev/vdc6
    /dev/vdc6: UUID="85202124-a90a-4a7b-a2ce-4d2ba6b68d4b" TYPE="swap" 
    [root@server0 ~]# vi /etc/fstab 
    ...
    UUID="85202124-a90a-4a7b-a2ce-4d2ba6b68d4b" swap swap defaults 0 0
    ...
    [root@server0 ~]# swapon -s             #查看掛載狀況
    文件名             類型      大小  已用  權限
    /dev/vdc5                               partition   10485756    0   -1
    [root@server0 ~]# swapon -a             #掛載
    [root@server0 ~]# swapon -s
    文件名             類型      大小  已用  權限
    /dev/vdc5                               partition   10485756    0   -1
    /dev/vdc6                               partition   10485756    0   -2

RAID 磁盤陣列
廉價冗餘磁盤陣列(Redundant Arrays of Inexpensive Disks)
經過硬件/軟件技術,將多個較小/低速的磁盤整合成一個大磁盤
陣列的價值:提高I/O效率,硬件級別的數據冗餘
不一樣RAID級別的功能,特性個不相同

RAID 0 ,條帶模式(至少要兩塊磁盤)同一個文檔分散存放在不一樣磁盤並行寫入以提升效率磁盤存儲利用率:100%缺點:沒有可靠性RAID 1 ,鏡像模式(至少要兩塊磁盤)一個文檔複製成多份,分別寫入不一樣磁盤多份備份提升可靠性,效率無提高磁盤存儲利用率:<=50%缺點:效率不高RAID 5 ,高性價比模式(至少須要三塊) #經常使用至關於RAID 0 和RAID 1 的折中方案須要至少一塊磁盤的容量來存放校驗數據可以經過校驗值和一部份數據推理出缺失的文件通常買四塊 多出的一塊作熱備份 有一個壞了頂替上 將壞掉的數據移交到其中磁盤存儲利用率:N-1/NRAID 6 高性價比/可靠模式(通常銀行用)-至關於擴展的RAID5陣列,提供2份獨立校驗方案-須要至少兩塊磁盤的容量來存放校驗數據磁盤存儲利用率:N-2/NRAID 0+1 (先作RAID 0 再做 1 )/RAID 1+0(先作RAID 1 再做 0)(至少四塊)至少要四塊 RAID 0+1 底層兩兩先作RAID 0 而後兩兩結合 在做RAID 1 -整合RAID 0 ,RAID 1 的優點-並行存取提升效率,鏡像寫入提升可靠性磁盤存儲利用率:<=50% RAID陣列實現方式硬RAID :由RAID控制卡管理陣列-主板-->陣列卡-->磁盤-->操做系統-->數據軟RAID :由操做系統來管理陣列-主板 -- > 磁盤 -- > 操做系統 -- > RAID軟件 -- >數據

相關文章
相關標籤/搜索