1. 程式人生 > 其它 >linux 分割槽

linux 分割槽

新增檔案分割槽

lsblk                        # 以樹形列出所有的塊裝置
fdisk -l [/dev/sdb]          # 檢視指定磁碟分割槽資訊,不加引數顯示所有磁碟的分割槽資訊
fdisk /dev/sdb               # 給指定磁碟分割槽引數,輸入命令之後進入互動式操作
partprobe /dev/sdb           # 核心重新讀取分割槽表,引數是整個磁碟sdb,不需要重啟,告知系統改變分割槽資訊
mkfs -t xfs /dev/sdb1        # 分割槽之後格式化
mount /dev/sdb1 /mnt/sdb1    # 格式化之後掛載使用,掛載點需要提前建立
vi /etc/fstab                # 掛載之後不是永久的,如果要永久生效需要修改配置檔案

新增swap分割槽

mkswap /dev/sdb2         # fdisk分割槽之後格式化為swap分割槽
blkid /dev/sdb2          # 檢視分割槽型別,檢驗是否格式化成功
swapon /dev/sdb2         # 掛載剛才格式化的swap分割槽,重啟會失效,開機掛載請修改/etc/fstab檔案,之後swapon -a
swapon -s                # 檢視交換分割槽
swapoff /dev/sdb2        # 解除安裝swap分割槽

man swapon # 檢視swapon用法

dd命令經常用來模擬大檔案,可以利用dd生成的大檔案格式化掛載成swap分割槽  

dd if=/dev/zero of=/dev/sdb5 bs=1M count=1024
# /dev/zero 是系統中的特殊裝置,一般用來模擬大檔案,可以往檔案中源源不斷的寫二進位制bit
# /dev/null 空裝置,類似黑洞,一些垃圾檔案可以往裡邊輸出
# 生成的檔案如果在/dev下掛載swap分割槽可能會報錯,所以換了一個路徑
dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
# 提示 swapon: /swapfile:swapon 失敗: 裝置或資源忙,先swapoff,再swapon
swapoff /swapfile
swapon /swapfile

GPT分割槽

當硬碟容量大於2T,就要使用GPT分割槽表分割槽,相比於最多劃分4個主分割槽的MBR,GPT可以劃分128個主分割槽

將硬碟劃分為GPT分割槽表的工具是gdisk和parted,推薦使用gdisk,與fdisk使用方法基本一致

LVM

HD:硬碟裝置

PV:物理卷,一般是由硬碟分割槽獲得

VG:卷組,由多個物理卷組成。容量等於所有物理卷之和。一個LVM系統中可以有一個或多個卷組

LV:邏輯卷,建立在卷組之上。供使用者使用的邏輯裝置,可以掛載使用

實驗測試:虛擬機器新新增兩塊20G硬碟,每塊硬碟分割槽出10G作為物理卷,組成卷組,卷組分出15G作為邏輯卷,格式化並掛載使用

# 建立物理卷
[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdc1
# 檢視物理卷
[root@localhost ~]# pvs

# 建立卷組,將物理卷加入卷組
[root@localhost ~]# vgcreate vg01 /dev/sdb1 /dev/sdc1
# 檢視卷組資訊
[root@localhost ~]# vgs vg01
# 檢視詳細的卷組資訊
[root@localhost ~]# vgdisplay vg01

# 建立邏輯卷
[root@localhost ~]# lvcreate -n lv01 -L 15G vg01
[root@VM1 ~]# lvcreate -n octbackup -l 100%free vg01
-n: 邏輯卷命名
-L:邏輯卷容量
-l: 邏輯卷容量,可以按卷組的百分比分配
vg01: 邏輯捲來自哪個卷組
邏輯卷建立完成之後一般會在系統的/dev/vg01/lv01和/dev/mapper/vg01-lv01路徑下
# 檢視邏輯卷資訊
[root@localhost ~]# lvdisplay /dev/mapper/vg01-lv01

# 格式化邏輯卷
[root@localhost ~]# mkfs -t xfs /dev/mapper/vg01-lv01
# 掛載
[root@localhost ~]# mount /dev/mapper/vg01-lv01 /mnt_test

# 刪除邏輯卷,刪除時邏輯卷不能被使用,且刪除邏輯卷資料丟失
[root@VM1 ~]# lvremove /dev/mapper/vg01-octbackup
# 刪除卷組
[root@VM1 ~]# vgremove vg01
# 刪除物理卷
[root@VM1 ~]# pvremove /dev/sdb3

動態擴容

# 直接增加邏輯卷容量
[root@VM1 ~]# lvextend -L 23G /dev/mapper/centos_vm1-root    # 23G 最終的大小
[root@VM1 ~]# lvextend -L +5G /dev/mapper/centos_vm1-root    # +5G 增加的容量

# 如果卷組容量不足會報錯,需要先增加捲組的容量
[root@VM1 ~]# vgextend centos_vm1 /dev/sdb1    # 沒有物理捲去加硬碟製作物理卷

# 擴容之後,同步檔案系統
[root@VM1 ~]# resize2fs /dev/mapper/centos_vm1-root

# centos7動態擴容直接/分割槽的時候,直接 xfs_grewfs 加分割槽/
[root@VM1 ~]# xfs_growfs /

LVM條帶化

把儲存到邏輯卷的資料分成N等份,分別寫到不同的物理卷,可以提高資料讀寫效率,但是其中的一個物理卷出現故障,資料會無法恢復。

# 掛載兩塊硬碟sdb和sdc組成邏輯卷,實現條帶化
[root@localhost ~]# lsblk
[root@localhost ~]# pvcreate /dev/sdb
[root@localhost ~]# pvcreate /dev/sdc
[root@localhost ~]# vgcreate vg01 /dev/sdb /dev/sdc

# 建立實現條帶化的邏輯卷
[root@localhost ~]# lvcreate -n lv01 -L 20G vg01 -i 2 /dev/sdb /dev/sdc
-n 邏輯卷名字
-L 邏輯卷容量
-i 條帶化的數量
sdb,sdc 條帶化來自哪兩個pv

# 通過pvs,可以檢視到20G的lv從每個pv拿了10G
[root@localhost ~]# pvs

[root@localhost ~]# mkfs -t xfs /dev/mapper/vg01-lv01
[root@localhost ~]# mkdir /test01
[root@localhost ~]# mount /dev/mapper/vg01-lv01 /test01/

# iostat 檢視測試結果
[root@localhost ~]# yum install -y sysstat
[root@localhost ~]# iostat -m -d /dev/sdb /dev/sdc 1
-m 以什麼速度顯示,每秒M
-d 要檢視的磁碟
1  每隔1s重新整理一次,後邊還有資料則代表共顯示多少次

# 做寫入資料測試,同時檢視iostat狀態
[root@localhost ~]# dd if=/dev/zero of=/test01/testfile bs=1M count=2048

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sdb             569.31         0.00        35.58          0         35
sdc             569.31         0.00        35.58          0         35

RAID

  • raid0 至少兩塊盤,實現條帶化,高效能讀寫。沒有冗餘,磁碟利用率100%
  • raid1 至少兩塊盤,資料映象備份,可靠性好。磁碟利用率50%
  • raid5 至少3塊盤,條帶化,讀寫效能好,有冗餘,磁碟利用率(n-1)/n,最常見的一種型別
  • raid6 至少4塊盤,條帶化,讀寫效能好,採用雙重校驗保證資料安全,一般用於安全性要求高的場合
  • raid10 raid1和raid0的組合,至少4塊盤,兩塊硬碟為一組先做raid1,再將raid1的兩組做raid0