磁碟管理
【1】、Linux常用的分割槽格式
-
在新增磁碟後要對其進行分割槽,分割槽後才可以去儲存資料
-
MBR分割槽格式:比較古老的分割槽格式,只能劃分4個主分割槽,如果四個分割槽劃分完成後,硬碟空間還有剩餘,那剩餘的分割槽也不能夠使用。後來新增加擴充套件分割槽(容器)功能,可在擴充套件分割槽內劃分出更多的邏輯分割槽,最大支援2.2.T磁碟容量
- 擴充套件分割槽可以沒有,至多有一個,擴充套件分割槽不能儲存資料,只可以作為邏輯分割槽的基礎
- IDE介面硬碟邏輯分割槽最多可以劃分59個
- SCSI介面硬碟邏輯分割槽最多可以劃分11個
- 最大支援2.2T以內的磁碟容量
- 使用
fdisk 裝置路徑
命令去進行MBR磁碟分割槽
-
GPT分割槽格式:可以劃分128個主分割槽,最大支援18EB磁碟容量
【2】、磁碟分割槽和掛載
1、分割槽型別
-
Linux來說無論有幾個分割槽,分給哪一目錄使用,他歸根結底只有一個根目錄,一個獨立且唯一的檔案結構,Linux中每個分割槽都是用來組成整個檔案系統的一部分。
-
當我們拿到一張大白紙,首先為了使用方便要裁剪,然後為了書寫工整要畫格。
-
“白紙”表示原始的硬碟,“裁剪”意味著分割槽,“畫格”意味著格式化,最後寫入資料,即新安裝一塊硬碟裝置後,為了更充分、安全的利用硬碟空間首先要進行分割槽,然後格式化,最後掛載使用。
-
主分割槽、擴充套件分割槽和邏輯分割槽的區別
-
主分割槽
- 主分割槽主要是用來啟動作業系統的,它主要放的是作業系統的啟動或載入程式,/boot分割槽最好放在主分割槽上;
-
擴充套件分割槽
-
擴充套件分割槽是不能使用的,它只是做為邏輯分割槽的容器存在的,先建立一個擴充套件分割槽,在擴充套件分割槽之上建立邏輯分割槽;
-
除去主分割槽所佔用的容量以外,剩下的容量就被認定為擴充套件分割槽(也可以這麼講:一塊硬碟除去主分割槽外的容量後,如果對剩下的容量進行了再分割槽,那麼,這個再分割槽就是擴充套件分割槽)
-
擴充套件分割槽是不能進行格式化的,擴充套件分割槽本身也是不能使用的,他的作用僅僅是邏輯分割槽的容器
-
/dev/nvme0n2p3 1640448 10485759 8845312 4.2G 5 Extended major minor #blocks name 259 0 62914560 nvme0n1 259 1 1048576 nvme0n1p1 259 2 61864960 nvme0n1p2 259 3 5242880 nvme0n2 259 5 307200 nvme0n2p1 259 4 512000 nvme0n2p2 259 6 0 nvme0n2p3 # 擴充套件分割槽的容量從我們的角度看是0
-
-
邏輯分割槽
-
擴充套件分割槽可以分成若干個邏輯分割槽。他們的關係是包含的關係,所有的邏輯分割槽都是擴充套件分割槽的一部分——擴充套件分割槽如果不再進行分割槽了,那麼擴充套件分割槽就是邏輯分割槽了
-
邏輯分割槽在使用上和主分割槽完全相同
-
/dev/nvme0n2p3 1640448 10485759 8845312 4.2G 5 Extended /dev/nvme0n2p5 1642496 3076095 1433600 700M b W95 FAT32
-
檢視分割槽型別
parted命令
{24-06-02 23:07}bogon:~ root# parted /dev/sdc print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 2149MB 2147MB primary 2 2149MB 4296MB 2147MB primary 3 4296MB 6443MB 2147MB primary 4 6443MB 21.5GB 15.0GB extended 5 6445MB 8592MB 2147MB logical 6 8593MB 10.7GB 2147MB logical 7 10.7GB 12.9GB 2147MB logical 8 12.9GB 15.0GB 2147MB logical 9 15.0GB 21.5GB 6436MB logical
-
2、磁碟分割槽(MBR)
當我們在分割槽的時候,預設使用MBR進行分割槽
-
磁碟分割槽
-
磁碟首先要進行分割槽才可以進行掛載
-
給虛擬機器新增一塊硬碟
-
[root@localhost ~]# fdisk -l | grep nv Disk /dev/nvme0n1: 60 GiB, 64424509440 bytes, 125829120 sectors /dev/nvme0n1p1 * 2048 2099199 2097152 1G 83 Linux /dev/nvme0n1p2 2099200 125829119 123729920 59G 8e Linux LVM Disk /dev/nvme0n2: 5 GiB, 5368709120 bytes, 10485760 sectors # 新增的硬碟
-
對新增的磁碟進行分割槽
-
[root@localhost ~]# fdisk /dev/nvme0n2 # 進入磁碟分割槽介面 Welcome to fdisk (util-linux 2.32.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (1-4, default 1): First sector (2048-10485759, default 2048): # 由於磁碟的引導檔案會佔用空間,因此第一個扇區的起始位置是從2048開始 Last sector, +sectors or +size{K,M,G,T,P} (2048-10485759, default 10485759): +200M Created a new partition 1 of type 'Linux' and of size 200 MiB. The signature will be removed by a write command. Command (m for help): p Disk /dev/nvme0n2: 5 GiB, 5368709120 bytes, 10485760 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x7a7b9c31 Device Boot Start End Sectors Size Id Type /dev/nvme0n2p1 2048 411647 409600 200M 83 Linux Filesystem/RAID signature on partition 1 will be wiped. Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (2-4, default 2): First sector (411648-10485759, default 411648): Last sector, +sectors or +size{K,M,G,T,P} (411648-10485759, default 10485759): +500M Created a new partition 2 of type 'Linux' and of size 500 MiB. The signature will be removed by a write command. Command (m for help): p Disk /dev/nvme0n2: 5 GiB, 5368709120 bytes, 10485760 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x7a7b9c31 Device Boot Start End Sectors Size Id Type /dev/nvme0n2p1 2048 411647 409600 200M 83 Linux /dev/nvme0n2p2 411648 1435647 1024000 500M 83 Linux Filesystem/RAID signature on partition 1 will be wiped. Filesystem/RAID signature on partition 2 will be wiped. #儲存退出
-
重新載入硬碟,因為核心在讀取硬碟的狀態時,是讀取開機時的狀態,我們後續對硬碟進行了分割槽操作後,需要強制重啟硬碟,讓核心重新讀取硬碟的資訊
-
[root@localhost ~]# partprobe /dev/nvme0n2 [root@localhost ~]# cat /proc/partitions major minor #blocks name 259 0 62914560 nvme0n1 259 1 1048576 nvme0n1p1 259 2 61864960 nvme0n1p2 259 3 5242880 nvme0n2 259 6 204800 nvme0n2p1 259 7 512000 nvme0n2p2
-
3、磁碟分割槽(GPT)
GPT分割槽使用和MBR相同
{24-06-02 23:21}bogon:~ root# fdisk /dev/sdd
Command (m for help): g
Created a new GPT disklabel (GUID: EEA1265E-7679-0446-BFB7-A3DD6605FB7D).
Command (m for help): n
Partition number (1-128, default 1):
4、格式化磁碟
-
將磁碟分割槽完成後,進行格式化(賦予空間檔案系統的過程)
-
[root@localhost ~]# mkfs.ext4 /dev/nvme0n2p1 mke2fs 1.45.6 (20-Mar-2020) Creating filesystem with 204800 1k blocks and 51200 inodes Filesystem UUID: c93d6606-57de-4d63-949a-db4034c47d3b Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729 Allocating group tables: done Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done
-
[root@localhost ~]# mkfs.xfs /dev/nvme0n2p2 meta-data=/dev/nvme0n2p2 isize=512 agcount=4, agsize=32000 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 bigtime=0 inobtcount=0 data = bsize=4096 blocks=128000, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=1368, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
-
檢查是否格式化成功
{24-06-02 18:30}bogon:~ root# blkid /dev/sdb2 /dev/sdb2: UUID="2c55e9d9-9f5c-4536-97af-c821625328ec" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="2af2b43a-02"
-
5、磁碟掛載
-
建立掛載點
-
[root@localhost ~]# mkdir /mnt/etx /mnt/xfs
-
透過mount命令進行掛載
-
[root@localhost ~]# mount -a
-
進行永久掛載,在/etc/fstab中寫入
裝置路徑 掛載點目錄 檔案系統型別 引數(defaults)
/dev/nvme0n2p1 /mnt/ext ext4 defaults 0 0 /dev/nvme0n2p2 /mnt/xfs xfs defaults 0 0
-
檢視掛載情況
-
[root@localhost ~]# df -TH | grep -v tmp Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/rhel-root xfs 40G 21G 20G 52% / /dev/sr0 iso9660 14G 14G 0 100% /mnt/cdrom /dev/nvme0n2p2 xfs 519M 31M 489M 6% /mnt/xfs /dev/mapper/rhel-home xfs 20G 170M 20G 1% /home /dev/nvme0n1p1 xfs 1.1G 208M 856M 20% /boot /dev/nvme0n2p1 ext4 198M 15k 183M 1% /mnt/ext
-
至此,掛載成功
【3】、檔案系統
檔案系統:資料在空間中的存放規則
Windows預設檔案系統:NTFS
-
分類
- vfat檔案系統
- vfat是Linux對DOS,Windows系統下的FAT(包括fat16和Fat32)檔案系統的一個統稱
- NFS檔案系統
- NFS即網路檔案系統,用於在UNIX系統間透過網路進行檔案共享,使用者可將網路中NFS伺服器提供的共享目錄掛載到本地的檔案目錄中,從而實現操作和訪問NFS檔案系統中的內容
- swap
- 在Linux中,使用整個交換分割槽來提供虛擬記憶體,其分割槽大小一般應是系統實體記憶體的2倍,在安裝Linux作業系統時,就應創分交換分割槽,它是Linux正常執行所必需的,其型別必須是swap,交換分割槽由作業系統自行管理。
- ext4檔案系統
- EXT4是第四代擴充套件檔案系統(英語:Fourth extended filesystem,縮寫為 ext4)是Linux系統下的日誌檔案系統,是ext3檔案系統的後繼版本。
- xfs檔案系統
- XFS 特別擅長處理大檔案,同時提供平滑的資料傳輸。
- vfat檔案系統
-
對於不同的檔案系統來說,雖然在使用中沒有過大的差距,但是依舊存在著一些小的不同
-
對於ext4檔案系統來說,我們在掛載完成收,就會自動生成一個目錄
-
[root@localhost ~]# ll /mnt/ext/ total 12 drwx------. 2 root root 12288 Mar 29 02:28 lost+found
-
但是對於xfs檔案系統來說,就不會生成
-
[root@localhost ~]# ll /mnt/xfs total 0
-
當我格式化好一個分割槽後,我想重新格式化檔案系統,對於xfs和ext4檔案系統的提示是不同的
# 現在是xfs檔案系統,我想重新格式化為ext4格式
{24-06-02 18:39}bogon:~ root# mkfs.ext4 /dev/sdb2
mke2fs 1.45.6 (20-Mar-2020)
/dev/sdb2 contains a xfs file system
Proceed anyway? (y,N) y
# 現在是ext4檔案系統,我想格式化為xfs檔案系統,使用-f強制重新格式化
{24-06-02 18:40}bogon:~ root# mkfs.xfs /dev/sdb2
mkfs.xfs: /dev/sdb2 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
{24-06-02 18:40}bogon:~ root# mkfs.xfs -f /dev/sdb2
【4】、磁碟資料遷移
如果目錄沒有被掛載的檔案系統,那麼預設佔用的是根分割槽的容量
例如/opt目錄
若/opt目錄下的資料特別大,我們該如何實現資料的遷移,來緩解根分割槽的負擔
# 我們首先將一塊新的磁碟掛載
mount /dev/sdb1 /mypart1
# 然後將/opt的資料移動到/mypart1下,此時/opt中就沒有資料了,以此減輕了根分割槽的負擔,但是有一些服務的相關配置檔案會在/opt目錄下。現在我們將資料移走了,服務會找不到配置檔案,導致服務無法啟動
mv /opt/* /mypart1
# 現在/opt中的資料已經在sdb磁碟的sdb1分割槽中,我們將sdb1取消掛載
umount /mypart1
# 將sdb1掛載到/opt目錄下
mount /dev/sdb1 /opt
# 此時/opt目錄下又重新恢復了資料
{24-06-02 22:32}bogon:~ root# ls /opt
10.txt 1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt lost+found
# 至此完成了資料的遷移
【4】、磁碟分割槽--虛擬記憶體
-
在記憶體不夠大時,需要開啟Swap,使用一部分硬碟,增加虛擬記憶體,解決記憶體容量不足的情況
-
當記憶體不足的時候,一部分程序會被殺死
-
透過free -mh檢視swap情況
-
[root@localhost ~]# free -mh total used free shared buff/cache available Mem: 3.8Gi 373Mi 3.2Gi 9.0Mi 221Mi 3.2Gi Swap: 5.9Gi 0B 5.9Gi
-
使用swapon來管理swap分割槽
-
[root@localhost ~]# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 4116476 0 -2
1、建立虛擬記憶體方式1
-
透過磁碟分割槽來劃分出新的分割槽作為swap
-
Command (m for help): n All space for primary partitions is in use. Adding logical partition 6 First sector (2873344-10485759, default 2873344): Last sector, +sectors or +size{K,M,G,T,P} (2873344-10485759, default 10485759): +2G Created a new partition 6 of type 'Linux' and of size 2 GiB. Partition #6 contains a swap signature. Do you want to remove the signature? [Y]es/[N]o: Y The signature will be removed by a write command. Command (m for help): p Disk /dev/nvme0n2: 5 GiB, 5368709120 bytes, 10485760 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x7a7b9c31 Device Boot Start End Sectors Size Id Type /dev/nvme0n2p1 2048 411647 409600 200M 83 Linux /dev/nvme0n2p2 411648 1435647 1024000 500M 83 Linux /dev/nvme0n2p3 1435648 10485759 9050112 4.3G 5 Extended /dev/nvme0n2p5 1437696 2871295 1433600 700M b W95 FAT32 /dev/nvme0n2p6 2873344 7067647 4194304 2G 83 Linux Filesystem/RAID signature on partition 6 will be wiped. Command (m for help): t #由於使用做swap分割槽的,所以需要進行型別轉換 Partition number (1-3,5,6, default 6): Hex code (type L to list all codes): 82 Changed type of partition 'Linux' to 'Linux swap / Solaris'. #將分割槽型別從Linux改變為了Linux swap Command (m for help): Command (m for help): p Disk /dev/nvme0n2: 5 GiB, 5368709120 bytes, 10485760 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x7a7b9c31 Device Boot Start End Sectors Size Id Type /dev/nvme0n2p1 2048 411647 409600 200M 83 Linux /dev/nvme0n2p2 411648 1435647 1024000 500M 83 Linux /dev/nvme0n2p3 1435648 10485759 9050112 4.3G 5 Extended /dev/nvme0n2p5 1437696 2871295 1433600 700M b W95 FAT32 /dev/nvme0n2p6 2873344 7067647 4194304 2G 82 Linux swap / Solaris
-
讓記憶體重新讀取硬碟的資訊
-
[root@localhost ~]# partprobe /dev/nvme0n2
-
對分割槽進行格式化,對swap分割槽的格式化和其他分割槽格式化不同,格式化後會生成UUID
-
[root@localhost ~]# mkswap /dev/nvme0n2p6 Setting up swapspace version 1, size = 2 GiB (2147479552 bytes) no label, UUID=c32e1e46-bab2-45c6-9de5-05627eb2126f
-
編寫/etc/fstab檔案,永久掛載,swap分割槽不需要寫掛載路徑
-
/dev/nvme0n2p6 none swap defualts 0 0
-
重新載入swap
-
[root@localhost ~]# swapon -a
-
檢視掛載結果
-
[root@localhost ~]# swapon -s Filename Type Size Used Priority /dev/nvme0n2p6 partition 2097148 0 -3 /dev/dm-1 partition 4116476 0 -2
2、建立虛擬記憶體方式2
-
透過根目錄磁碟剩餘容量建立swap,以檔案作為交換空間
-
[root@localhost ~]# df -Th | grep -v tmp Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/rhel-root xfs 37G 20G 18G 52% /
-
根目錄磁碟分割槽還剩餘18G,從這18G中分出一部分來劃分為swap,不需要對磁碟進行分割槽,直接從根磁碟中分出一部分,然後進行格式化即可
-
[root@localhost ~]# dd if=/dev/zero of=/tmp/swap1 bs=1M count=2048 2048+0 records in 2048+0 records out 2147483648 bytes (2.1 GB, 2.0 GiB) copied, 22.1407 s, 97.0 MB/s [root@localhost ~]# mkswap /tmp/swap1 mkswap: /tmp/swap1: insecure permissions 0644, 0600 suggested. #建議我們將swap1的許可權設定為0660 Setting up swapspace version 1, size = 2 GiB (2147479552 bytes) no label, UUID=dfa53414-4d5c-4237-9f97-f1f7435de6b1
-
修改許可權
-
[root@localhost ~]# chmod 0600 /tmp/swap1 [root@localhost ~]# ll -d /tmp/swap1 -rw-------. 1 root root 2147483648 Apr 1 02:13 /tmp/swap1 [root@localhost ~]#
-
修改/etc/fstab檔案
-
後面的步驟就和第一種方式一樣了
【4】、磁碟配額
-
Linux系統作為一個多使用者的作業系統,在生產環境中,會發生多個使用者共同使用一個磁碟的情況,會造成Linux根分割槽的磁碟空間耗盡,導致Linux系統無法建立新的檔案,從而出現服務程式崩潰、系統無法啟動等故障現象。
-
為了避免這種情況,解決方法就是 ,對使用者在指定檔案系統中使用磁碟空間、檔案數量進行限制,防止使用者佔用大量的磁碟空間,從而保持系統儲存空間可以穩定使用。
-
在進行磁碟配額操作之前,先檢查作業系統底層是否有支援的模組
-
[root@localhost ~]# grep CONFIG_QUOTA /boot/config-4.18.0-513.5.1.el8_9.x86_64 CONFIG_QUOTA=y CONFIG_QUOTA_NETLINK_INTERFACE=y # CONFIG_QUOTA_DEBUG is not set CONFIG_QUOTA_TREE=y CONFIG_QUOTACTL=y CONFIG_QUOTACTL_COMPAT=y
-
主要對兩個檔案系統進行磁碟配額
-
etx4,不能限制root超級使用者
-
修改/etc/fstab引數
-
/dev/nvme0n2p1 /mnt/ext ext4 defaults,usrquota,grpquota 0 0
-
檢視/dev/nvme0n2p1資訊,此時還沒有quota相關引數
-
[root@localhost ~]# mount | grep nvme0n2p1 /dev/nvme0n2p1 on /mnt/ext type ext4 (rw,relatime,seclabel)
-
重新載入後就有了相關引數
-
[root@localhost ~]# mount -o remount /mnt/ext/ mount: (hint) your fstab has been modified, but systemd still uses the old version; use 'systemctl daemon-reload' to reload. [root@localhost ~]# mount | grep nvme0n2p1 /dev/nvme0n2p1 on /mnt/ext type ext4 (rw,relatime,seclabel,quota,usrquota,grpquota)
-
檢查支援配額磁碟的分割槽,同時會在/mnt/ext目錄下生成兩個檔案
-
[root@localhost ~]# quotacheck -augcv #-a:檢擦所有的磁碟分割槽 #-u,-g:檢查對使用者和使用者組配額的分割槽 quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown. quotacheck: Scanning /dev/nvme0n2p1 [/mnt/ext] done quotacheck: Cannot stat old user quota file /mnt/ext/aquota.user: No such file or directory. Usage will not be subtracted. quotacheck: Cannot stat old group quota file /mnt/ext/aquota.group: No such file or directory. Usage will not be subtracted. quotacheck: Cannot stat old user quota file /mnt/ext/aquota.user: No such file or directory. Usage will not be subtracted. quotacheck: Cannot stat old group quota file /mnt/ext/aquota.group: No such file or directory. Usage will not be subtracted. quotacheck: Checked 3 directories and 0 files quotacheck: Old file not found. quotacheck: Old file not found. [root@localhost ~]# ls -l /mnt/ext/ total 26 -rw-------. 1 root root 6144 Apr 1 02:25 aquota.group -rw-------. 1 root root 6144 Apr 1 02:25 aquota.user drwx------. 2 root root 12288 Mar 29 02:28 lost+found
-
對要進行配額的使用者進行設定,block限制的是容量大小,inodes限制的是數量,soft和hard分別是軟限制和硬限制,也就是超過了soft會給出警告,到達了hard則限制操作
-
[root@localhost ~]# edquota -u quotauser Disk quotas for user quotauser (uid 10007): Filesystem blocks soft hard inodes soft hard /dev/nvme0n2p1 0 80M 100M 0 8 10
-
開啟配額
-
[root@localhost ~]# quotaon -a
-
開始測試
-
#測試block [quotauser@localhost ext]$ dd if=/dev/zero of=./test1 bs=30M count=1 1+0 records in 1+0 records out 31457280 bytes (31 MB, 30 MiB) copied, 0.709584 s, 44.3 MB/s [quotauser@localhost ext]$ dd if=/dev/zero of=./test2 bs=30M count=1 1+0 records in 1+0 records out 31457280 bytes (31 MB, 30 MiB) copied, 0.540205 s, 58.2 MB/s [quotauser@localhost ext]$ dd if=/dev/zero of=./test3 bs=30M count=1 nvme0n2p1: warning, user block quota exceeded. #此時quotauser建立的檔案達到了90M,超過了soft block 1+0 records in 1+0 records out 31457280 bytes (31 MB, 30 MiB) copied, 0.589843 s, 53.3 MB/s [quotauser@localhost ext]$ dd if=/dev/zero of=./test4 bs=30M count=1 nvme0n2p1: write failed, user block limit reached. dd: error writing './test4': Disk quota exceeded #此時quotauser建立的檔案達到了120M,到達了hard block,因此超過的部分會被刪除 1+0 records in 0+0 records out 10481664 bytes (10 MB, 10 MiB) copied, 0.231525 s, 45.3 MB/s [quotauser@localhost ext]$ ll -h| grep test4 -rw-rw-r--. 1 quotauser quotauser 10M Apr 1 02:43 test4 #所以test4只用10M #測試inodes [quotauser@localhost ext]$ touch {1..10}.txt nvme0n2p1: warning, user file quota exceeded. nvme0n2p1: write failed, user file limit reached. #下面的三個檔案超出了inodes的個數限制,不能建立 touch: cannot touch '8.txt': Disk quota exceeded touch: cannot touch '9.txt': Disk quota exceeded touch: cannot touch '10.txt': Disk quota exceeded
-
grace time
當有配額限制的使用者達到soft限制後,會產生grace time,它的含義是,在grace time限制內,如果沒有將容量或者檔案數量降低到soft限制下,那麼hard限制將會降低為soft限制。如果在規定時間內降低到soft以下了,grace time會消失
-
[root@localhost ~]# quota -u quotauser Disk quotas for user quotauser (uid 10007): Filesystem blocks quota limit grace files quota limit grace /dev/nvme0n2p1 92170* 81920 102400 6days 10* 8 10 6days
-
檢視裝置對那些使用者進行限制
-
[root@localhost ~]# repquota /dev/nvme0n2p1 *** Report for user quotas on device /dev/nvme0n2p1 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 13 0 0 2 0 0 quotauser -- 61442 81920 102400 2 8 10
-
下線ext4的quota
-
quotaoff -a
-
-
xfs,可以針對root超級使用者,不過需要建立專案
-
針對普通使用者(不需要建立專案)
-
修改/etc/fstab引數
-
/dev/nvme0n2p1 /mnt/ext ext4 defaults,usrquota,grpquota 0 0
-
重新載入磁碟資訊
-
[root@localhost ~]# umount /mnt/xfs/ [root@localhost ~]# mount /mnt/xfs/ mount: (hint) your fstab has been modified, but systemd still uses the old version; use 'systemctl daemon-reload' to reload. [root@localhost ~]# mount | grep nvme0n2p2 /dev/nvme0n2p2 on /mnt/xfs type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,usrquota,grpquota)
-
進行user和group的配額設定
-
[root@localhost ~]# xfs_quota -x -c "limit bsoft=60M bhard=80M isoft=6 ihard=8 quotauser" /mnt/xfs #limit:進行限制 #bsoft:block soft
-
檢視配置
-
[root@localhost ~]# xfs_quota -x -c "report -ubih" /mnt/xfs #u:表示使用者,b:表示block,i:表示inodes h:顯示形式
-
進行測試
-
[quotauser@localhost xfs]$ dd if=/dev/zero of=./test1 bs=25M count=1 1+0 records in 1+0 records out 26214400 bytes (26 MB, 25 MiB) copied, 0.050311 s, 521 MB/s [quotauser@localhost xfs]$ dd if=/dev/zero of=./test2 bs=25M count=1 1+0 records in 1+0 records out 26214400 bytes (26 MB, 25 MiB) copied, 0.218181 s, 120 MB/s [quotauser@localhost xfs]$ dd if=/dev/zero of=./test3 bs=25M count=1 1+0 records in 1+0 records out 26214400 bytes (26 MB, 25 MiB) copied, 0.312256 s, 84.0 MB/s [quotauser@localhost xfs]$ dd if=/dev/zero of=./test4 bs=25M count=1 dd: error writing './test4': Disk quota exceeded 1+0 records in 0+0 records out 4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.0943417 s, 44.5 MB/s ##xfs檔案系統在達到配額的soft limit時不會給出警告資訊,直到達到hard limit時才給出報錯資訊,並限制檔案大小,同時,xfs和ext4檔案系統一樣具有grace time,並且機制和ext4一樣
-
針對專案(root)進行配額
-
修改/etc/fstab引數,grpquota不能和prjquota共存
-
/dev/nvme0n2p2 /mnt/xfs xfs defaults,usrquota,prjquota 0 0
-
重新載入磁碟
-
[root@localhost ~]# umount /mnt/xfs [root@localhost ~]# mount -a mount: (hint) your fstab has been modified, but systemd still uses the old version; use 'systemctl daemon-reload' to reload. [root@localhost ~]# [root@localhost ~]# mount | grep nvme0 /dev/nvme0n2p5 on /mnt/win type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro) /dev/nvme0n2p1 on /mnt/ext type ext4 (rw,relatime,seclabel,quota,usrquota,grpquota) /dev/nvme0n1p1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) /dev/nvme0n2p2 on /mnt/xfs type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,usrquota,prjquota)
-
進行專案的繫結匹配
-
[root@localhost ~]# echo "41:/mnt/xfs">/etc/projects [root@localhost ~]# cat /etc/projects 41:/mnt/xfs [root@localhost ~]# echo "quotaxfs:41">>/etc/projid [root@localhost ~]# cat /etc/projid quotaxfs:41
-
啟動專案
-
[root@localhost ~]# xfs_quota -x -c "project -s quotaxfs" Setting up project quotaxfs (path /mnt/xfs)... Processed 1 (/etc/projects and cmdline) paths for project quotaxfs with recursion depth infinite (-1). Setting up project quotaxfs (path /mnt/xfs)... Processed 1 (/etc/projects and cmdline) paths for project quotaxfs with recursion depth infinite (-1). Setting up project quotaxfs (path /mnt/xfs)... Processed 1 (/etc/projects and cmdline) paths for project quotaxfs with recursion depth infinite (-1). Setting up project quotaxfs (path /mnt/xfs)... Processed 1 (/etc/projects and cmdline) paths for project quotaxfs with recursion depth infinite (-1).
-
檢視專案
-
[root@localhost ~]# xfs_quota -x -c "print" /mnt/xfs Filesystem Pathname /mnt/xfs /dev/nvme0n2p2 (uquota, pquota) /mnt/xfs /dev/nvme0n2p2 (project 41, quotaxfs)
-
進行限制
-
[root@localhost ~]# xfs_quota -x -c "limit -p bsoft=90M bhard=100M quotaxfs" /mnt/xfs [root@localhost xfs]# xfs_quota -x -c "report -pbih" /mnt/xfs Project quota on /mnt/xfs (/dev/nvme0n2p2) Blocks Inodes Project ID Used Soft Hard Warn/Grace Used Soft Hard Warn/Grace ---------- --------------------------------- --------------------------------- #0 0 0 0 00 [------] 2 0 0 00 [------] quotaxfs 0 90M 100M 00 [------] 1 0 0 00 [------]
-
測試,透過root建立的檔案也會受到限制同時也會有grace time
-
33554432 bytes (34 MB, 32 MiB) copied, 0.0351664 s, 954 MB/s [root@localhost xfs]# dd if=/dev/zero of=./root1 bs=32M count=1 1+0 records in 1+0 records out 33554432 bytes (34 MB, 32 MiB) copied, 0.0432654 s, 776 MB/s [root@localhost xfs]# dd if=/dev/zero of=./root2 bs=32M count=1 1+0 records in 1+0 records out 33554432 bytes (34 MB, 32 MiB) copied, 0.0447339 s, 750 MB/s [root@localhost xfs]# dd if=/dev/zero of=./root3 bs=32M count=1 1+0 records in 1+0 records out 33554432 bytes (34 MB, 32 MiB) copied, 0.27855 s, 120 MB/s [root@localhost xfs]# ll total 98304 -rw-r--r--. 1 root root 33554432 Apr 1 03:53 root1 -rw-r--r--. 1 root root 33554432 Apr 1 03:53 root2 -rw-r--r--. 1 root root 33554432 Apr 1 03:53 root3 [root@localhost xfs]# dd if=/dev/zero of=./root4 bs=32M count=1 dd: error writing './root4': No space left on device 1+0 records in 0+0 records out 4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.116613 s, 36.0 MB/s [root@localhost xfs]# xfs_quota -x -c "report -pbih" /mnt/xfs Project quota on /mnt/xfs (/dev/nvme0n2p2) Blocks Inodes Project ID Used Soft Hard Warn/Grace Used Soft Hard Warn/Grace ---------- --------------------------------- --------------------------------- #0 0 0 0 00 [------] 2 0 0 00 [------] quotaxfs 100M 90M 100M 00 [7 days] 5 0 0 00 [------]
-
對於專案的配額來說,在一個專案中會有許多的使用者,針對劃分的空間,採取的是誰先佔用就是誰的
-
只看某一個專案的具體資訊
-
[root@localhost xfs]# xfs_quota -c "quota -p 41" /mnt/xfs Disk quotas for Project quotaxfs (41) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/nvme0n2p2 36864 92160 102400 00 [--------] /mnt/xfs
-
檢視xfs的quota狀態
-
[root@localhost xfs]# xfs_quota -x -c "state" /mnt/xfs User quota state on /mnt/xfs (/dev/nvme0n2p2) Accounting: ON Enforcement: ON Inode: #131 (2 blocks, 2 extents) Blocks grace time: [7 days] Blocks max warnings: 5 Inodes grace time: [7 days] Inodes max warnings: 5 Realtime Blocks grace time: [7 days] Group quota state on /mnt/xfs (/dev/nvme0n2p2) Accounting: OFF Enforcement: OFF Inode: #132 (2 blocks, 2 extents) Blocks grace time: [7 days] Blocks max warnings: 5 Inodes grace time: [7 days] Inodes max warnings: 5 Realtime Blocks grace time: [7 days] Project quota state on /mnt/xfs (/dev/nvme0n2p2) Accounting: ON Enforcement: ON Inode: #137 (2 blocks, 2 extents) Blocks grace time: [7 days] Blocks max warnings: 5 Inodes grace time: [7 days] Inodes max warnings: 5 Realtime Blocks grace time: [7 days]
-
xfs的quota功能開關
-
xfs_quota -x -c "disable -up" /mnt/xfs/ #關閉配額 xfs_quota -x -c "off -up" /mnt/xfs/ #永久下線配額 xfs_quota -x -c "remove -p" /mnt/xfs/#移除配額專案
-
-
-
EXT4和XFS的區別
ext4 檔案系統 xfs 檔案系統 無法對單一目錄 可對單一目錄、超級使用者 quota工具 xfs_quota工具 quota預設不開啟 預設開啟 需要建立配額配置檔案:edquota -u user 不需要建立配額配置檔案
【5】、LVM邏輯卷
1、LVM概述
進行LVM邏輯卷建立的分割槽或磁碟,必須是沒有被使用的(沒有被格式化的)
LVM(Logical Volume Manager)是基於核心的一種邏輯卷管理器,LVM適合於管理大儲存裝置,並允許使用者動態調整檔案系統大小。對底層硬碟的整合,當我們對LVM邏輯捲進行管理時,不需要在涉及到底層的硬碟了
-
1.物理卷(Physical Volume, PV)
物理卷是LVM的最底層概念,是LVM的邏輯儲存塊,物理卷與磁碟分割槽是邏輯的對應關係。LVM提供了命令工具可以將磁碟分割槽轉換為物理卷,透過組合物理卷生成卷組。
-
2.卷組( Volume Group,VG)
卷組是LVM邏輯概念上的磁碟裝置,透過將單個或多個物理卷組合後生成卷組。卷組的大小取決於物理卷的容量及個數。在Centos7系統中,對容量與個數沒有限制。
-
3.邏輯卷(Logical Volume, LV)
邏輯卷就是LVM邏輯意義上的分割槽,我們可以指定從卷組中提取多少容量來建立邏輯卷,最後對邏輯卷格式化並掛載使用。
-
也就是說我們真正去使用的是LVM邏輯卷的分割槽,並不是直接使用磁碟的分割槽
2、建立LVM
-
首先也要先對磁碟進行分割槽,然後轉換為物理卷PV
-
建立好分割槽後進行格式轉換,轉換為Linux LVM格式
-
Command (m for help): t Selected partition 1 Hex code (type L to list all codes): L Hex code (type L to list all codes): 8e Changed type of partition 'Linux' to 'Linux LVM'.
-
-
將磁碟的分割槽建立為物理分割槽
-
[root@localhost ~]# pvcreate /dev/nvme0n3p1 Physical volume "/dev/nvme0n3p1" successfully created [root@localhost ~]# pvs PV VG Fmt Attr PSize PFree /dev/nvme0n1p2 rhel lvm2 a-- <59.00g 0 /dev/nvme0n3p1 lvm2 --- 2.00g 2.00g ##使用pvs命令檢視物理分割槽情況
-
-
將物理分割槽生成卷組
-
[root@localhost ~]# vgcreate myvg /dev/nvme0n3p1 Volume group "myvg" successfully created [root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree myvg 1 0 0 wz--n- <2.00g <2.00g rhel 1 3 0 wz--n- <59.00g 0
-
此時再檢視物理分割槽情況
-
[root@localhost ~]# pvs PV VG Fmt Attr PSize PFree /dev/nvme0n1p2 rhel lvm2 a-- <59.00g 0 /dev/nvme0n3p1 myvg lvm2 a-- <2.00g <2.00g
-
出現了vg卷組的名字
-
-
從卷組中抽取一部分容量建立LVM邏輯卷
-
[root@localhost ~]# lvcreate -n mylv -L 300M myvg Logical volume "mylv" created. [root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert mylv myvg -wi-a----- 300.00m home rhel -wi-ao---- <18.07g root rhel -wi-ao---- 37.00g swap rhel -wi-ao---- <3.93g
-
-
然後對建立好的LVM進行格式化和掛載
-
[root@localhost ~]# mkfs.ext4 /dev/myvg/mylv mke2fs 1.45.6 (20-Mar-2020) Creating filesystem with 307200 1k blocks and 76912 inodes Filesystem UUID: 0d6c7eb8-14ab-4110-b7d1-e83a9a7b93c7 Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729, 204801, 221185 Allocating group tables: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting i
-
需要注意:此時在建立好LVM後就已經和底層的磁碟分割槽沒有什麼關係了,我們在進行格式化的時候,就不能使用/dev/nvme0n3p1,要使用/dev/myvg/mylv,之後就是修改/etc/fstab檔案。然後透過mount進行掛載
-
3、邏輯卷LVM的擴容和縮容
物理卷PV不能進行擴充套件和縮減了,只有卷組和邏輯卷可以實現擴充套件和縮減
-
ext4 file system
-
擴容(卷組空間足夠的情況下)
-
先擴大邏輯卷
-
root@localhost lvmext4]# lvextend -L +300M /dev/myvg/mylv Size of logical volume myvg/mylv changed from 300.00 MiB (75 extents) to 600.00 MiB (150 extents). Logical volume myvg/mylv successfully resized. [root@localhost lvmext4]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert mylv myvg -wi-ao---- 600.00m home rhel -wi-ao---- <18.07g root rhel -wi-ao---- 37.00g swap rhel -wi-ao---- <3.93g [root@localhost lvmext4]# vgs VG #PV #LV #SN Attr VSize VFree myvg 1 1 0 wz--n- <2.00g 1.41g rhel 1 3 0 wz--n- <59.00g 0 [root@localhost lvmext4]# pvs PV VG Fmt Attr PSize PFree /dev/nvme0n1p2 rhel lvm2 a-- <59.00g 0 /dev/nvme0n3p1 myvg lvm2 a-- <2.00g 1.41g
-
通知檔案系統
-
[root@localhost lvmext4]# df -Th | grep lvm /dev/mapper/myvg-mylv ext4 281M 186M 77M 71% /mnt/lvmext4
-
此時檔案系統還不知道,我已進行了擴容,所以通知檔案系統
-
[root@localhost lvmext4]# df -Th | grep lvm /dev/mapper/myvg-mylv ext4 281M 186M 77M 71% /mnt/lvmext4 [root@localhost lvmext4]# resize2fs /dev/myvg/mylv resize2fs 1.45.6 (20-Mar-2020) Filesystem at /dev/myvg/mylv is mounted on /mnt/lvmext4; on-line resizing required old_desc_blocks = 3, new_desc_blocks = 5 The filesystem on /dev/myvg/mylv is now 614400 (1k) blocks long. [root@localhost lvmext4]# df -Th | grep lvm /dev/mapper/myvg-mylv ext4 572M 186M 355M 35% /mnt/lvmext4
-
-
擴容(在卷組空間不足的情況下)
-
首先我們需要去增加一個磁碟分割槽,轉換為物理分割槽,讓他加入myvg卷組
-
[root@localhost lvmext4]# partprobe Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only. [root@localhost lvmext4]# pvcreate /dev/nvme0n3p2 Physical volume "/dev/nvme0n3p2" successfully created. [root@localhost lvmext4]# vgextend myvg /dev/nvme0n3p2 Volume group "myvg" successfully extended
-
然後再進行擴容操作
-
-
縮減
-
首先需要下載掛載的內容
-
[root@localhost ~]# umount /mnt/lvmext4
-
對邏輯分割槽進行檢查
-
[root@localhost ~]# e2fsck -f /dev/myvg/mylv e2fsck 1.45.6 (20-Mar-2020) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/myvg/mylv: 11/65536 files (0.0% non-contiguous), 12955/262144 blocks
-
先縮小檔案系統
-
[root@localhost ~]# resize2fs /dev/myvg/mylv 300M resize2fs 1.45.6 (20-Mar-2020) Resizing the filesystem on /dev/myvg/mylv to 76800 (4k) blocks. The filesystem on /dev/myvg/mylv is now 76800 (4k) blocks long.
-
再縮小邏輯卷
-
[root@xu ~]# lvreduce -L 4G /dev/xuruizahovg/xuruizhaolv WARNING: Reducing active logical volume to 4.00 GiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce xuruizahovg/xuruizhaolv? [y/n]: y Size of logical volume xuruizahovg/xuruizhaolv changed from 12.00 GiB (3072 extents) to 4.00 GiB (1024 extents). Logical volume xuruizahovg/xuruizhaolv successfully resized.
-
重新掛載
-
[root@localhost ~]# mount -a
-
縮容操作是一種存在一定風險的操作,因此在重新掛載時,可能會報錯,主要是由於縮減後的容量系統認為不能放下目錄中的所有資料,所以不讓掛載。
-
解決方法:備份資料,重新格式化分割槽,再次進行掛載
-
-
-
xfs file system
-
xfs被建立出來的初衷就是為了解決大檔案、大資料儲存的,因此對於xfs file system預設不存在容量縮減的操作
-
擴容
-
首先也是建立PV(物理分割槽)、VG(卷組)、LVM(邏輯卷)
-
進行格式化
-
[root@localhost xfs]# mkfs.xfs /dev/my_xfs/lvxfs meta-data=/dev/my_xfs/lvxfs isize=512 agcount=4, agsize=25600 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 bigtime=0 inobtcount=0 data = bsize=4096 blocks=102400, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=1368, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
-
進行掛載
-
擴充套件分割槽,並通知檔案系統
-
[root@localhost xfs]# lvextend -L +200M /dev/my_xfs/lvxfs Size of logical volume my_xfs/lvxfs changed from 400.00 MiB (100 extents) to 600.00 MiB (150 extents). Logical volume my_xfs/lvxfs successfully resized. [root@localhost xfs]# xfs_growfs /dev/my_xfs/lvxfs meta-data=/dev/mapper/my_xfs-lvxfs isize=512 agcount=4, agsize=25600 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 bigtime=0 inobtcount=0 data = bsize=4096 blocks=102400, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=1368, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 102400 to 153600 [root@localhost xfs]# df -Th | grep lv /dev/mapper/myvg-mylv ext4 2.5G 186M 2.2G 8% /mnt/lvmext4 /dev/mapper/my_xfs-lvxfs xfs 595M 25M 571M 5% /mnt/lvxfs
-
對於xfs檔案系統,使用
xfs_growfs
通知檔案系統
-
4、邏輯卷LVM的管理命令
功能 | 物理卷管理 | 卷組管理 | 邏輯卷管理 |
---|---|---|---|
Scan掃描 | pvscan | vgscan | lvscan |
Create建立 | pvcreat | vgcreat | lvcreat |
Display顯示 | pvdisplay | vgdisplay | lvdisplay |
Remove刪除 | pvremove | vgremove | lvmove |
Extend擴充套件 | vgextent | lvectent | |
Reduce減少 | vgreduce | lvreduce |
5、邏輯卷資料遷移
-
我們可以遷移邏輯捲到一個新的磁碟而不會丟失資料,也不用關機操作。該特性的功能是將資料從舊磁碟移動到新磁碟。通常,我們只是在一些磁碟發生錯誤時,才將資料從一個磁碟遷移到另外一個磁碟儲存。
-
將邏輯卷從一個磁碟移動到另一個磁碟。
-
我們可以使用任何型別的磁碟,如SATA、SSD、SAS、SAN storage iSCSI或者FC。
-
線上遷移磁碟,而且資料不會丟失。
-
遷移方式:
-
透過新的磁碟將資料進行轉移
-
檢視當前系統邏輯卷的情況
-
[root@bogon ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 12.6G 0 rom /mnt/cdrom nvme0n1 259:0 0 60G 0 disk ├─nvme0n1p1 259:1 0 1G 0 part /boot └─nvme0n1p2 259:2 0 59G 0 part ├─rhel-root 253:0 0 37G 0 lvm / ├─rhel-swap 253:1 0 3.9G 0 lvm [SWAP] └─rhel-home 253:2 0 18.1G 0 lvm /home nvme0n2 259:3 0 5G 0 disk ├─nvme0n2p1 259:4 0 300M 0 part └─nvme0n2p2 259:5 0 600M 0 part /mnt/xfs nvme0n3 259:6 0 10G 0 disk ├─nvme0n3p1 259:7 0 2G 0 part │ └─myvg-mylv 253:4 0 400M 0 lvm /mnt/lvmext4 ├─nvme0n3p2 259:8 0 1G 0 part └─nvme0n3p3 259:9 0 1G 0 part └─my_xfs-lvxfs 253:3 0 600M 0 lvm /mnt/lvxfs
-
刪除nvme0n3xfs邏輯卷的物理分割槽,重新載入
-
新增一塊新的磁碟,進行分割槽,將其加入到邏輯卷中,對xfs檔案系統進行遷移
-
[root@bogon ~]# pvcreate /dev/nvme0n4p1 Physical volume "/dev/nvme0n4p1" successfully created. [root@bogon ~]# pvs PV VG Fmt Attr PSize PFree /dev/nvme0n1p2 rhel lvm2 a-- <59.00g 0 /dev/nvme0n3p5 myvg_ext4 lvm2 a-- 496.00m 0 /dev/nvme0n3p6 myvg_ext4 lvm2 a-- 496.00m 392.00m /dev/nvme0n3p7 myvg_xfs lvm2 a-- 596.00m 296.00m /dev/nvme0n4p1 lvm2 --- 1.00g 1.00g [root@bogon ~]# vgextend myvg_xfs /dev/nvme0n4p1 Volume group "myvg_xfs" successfully extended [root@bogon ~]# vgs VG #PV #LV #SN Attr VSize VFree myvg_ext4 2 1 0 wz--n- 992.00m 392.00m myvg_xfs 2 1 0 wz--n- <1.58g <1.29g rhel 1 3 0 wz--n- <59.00g 0 [root@bogon ~]# pvmove /dev/nvme0n3p7 /dev/nvme0n4p1 /dev/nvme0n3p7: Moved: 50.67% /dev/nvme0n3p7: Moved: 100.00%
-
由於刪除了物理分割槽,所以邏輯卷會進行警告
-
[root@bogon ~]# vgs WARNING: Couldn't find device with uuid ubE7fk-OWBH-nQ2d-zMZU-GR7w-zdsT-OD1RKJ. WARNING: VG myvg_xfs is missing PV ubE7fk-OWBH-nQ2d-zMZU-GR7w-zdsT-OD1RKJ (last written to /dev/nvme0n3p7). VG #PV #LV #SN Attr VSize VFree myvg_ext4 3 1 0 wz--n- 1.96g <1.38g myvg_xfs 2 1 0 wz-pn- <1.58g <1.29g rhel 1 3 0 wz--n- <59.00g 0 [root@bogon ~]# pvs WARNING: Couldn't find device with uuid ubE7fk-OWBH-nQ2d-zMZU-GR7w-zdsT-OD1RKJ. WARNING: VG myvg_xfs is missing PV ubE7fk-OWBH-nQ2d-zMZU-GR7w-zdsT-OD1RKJ (last written to /dev/nvme0n3p7). PV VG Fmt Attr PSize PFree /dev/nvme0n1p2 rhel lvm2 a-- <59.00g 0 /dev/nvme0n3p5 myvg_ext4 lvm2 a-- 496.00m 0 /dev/nvme0n3p6 myvg_ext4 lvm2 a-- 496.00m 392.00m /dev/nvme0n4p1 myvg_xfs lvm2 a-- 1020.00m 720.00m /dev/nvme0n4p2 myvg_ext4 lvm2 a-- 1020.00m 1020.00m [unknown] myvg_xfs lvm2 a-m 596.00m 596.00m [root@bogon ~]# lvs WARNING: Couldn't find device with uuid ubE7fk-OWBH-nQ2d-zMZU-GR7w-zdsT-OD1RKJ. WARNING: VG myvg_xfs is missing PV ubE7fk-OWBH-nQ2d-zMZU-GR7w-zdsT-OD1RKJ (last written to /dev/nvme0n3p7). LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert mylv_ext4 myvg_ext4 -wi-ao---- 600.00m mylv_xfs myvg_xfs -wi-ao---- 300.00m home rhel -wi-ao---- <18.07g root rhel -wi-ao---- 37.00g swap rhel -wi-ao---- <3.93g
-
我們需要將對應的卷組刪除
-
[root@bogon ~]# vgreduce --removemissing --force myvg_xfs WARNING: Couldn't find device with uuid ubE7fk-OWBH-nQ2d-zMZU-GR7w-zdsT-OD1RKJ. WARNING: VG myvg_xfs is missing PV ubE7fk-OWBH-nQ2d-zMZU-GR7w-zdsT-OD1RKJ (last written to /dev/nvme0n3p7). WARNING: Couldn't find device with uuid ubE7fk-OWBH-nQ2d-zMZU-GR7w-zdsT-OD1RKJ. Wrote out consistent volume group myvg_xfs. [root@bogon ~]# vgs VG #PV #LV #SN Attr VSize VFree myvg_ext4 3 1 0 wz--n- 1.96g <1.38g myvg_xfs 1 1 0 wz--n- 1020.00m 720.00m rhel 1 3 0 wz--n- <59.00g 0 [root@bogon ~]# pvs PV VG Fmt Attr PSize PFree /dev/nvme0n1p2 rhel lvm2 a-- <59.00g 0 /dev/nvme0n3p5 myvg_ext4 lvm2 a-- 496.00m 0 /dev/nvme0n3p6 myvg_ext4 lvm2 a-- 496.00m 392.00m /dev/nvme0n4p1 myvg_xfs lvm2 a-- 1020.00m 720.00m /dev/nvme0n4p2 myvg_ext4 lvm2 a-- 1020.00m 1020.00m [root@bogon ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert mylv_ext4 myvg_ext4 -wi-ao---- 600.00m mylv_xfs myvg_xfs -wi-ao---- 300.00m home rhel -wi-ao---- <18.07g root rhel -wi-ao---- 37.00g swap rhel -wi-ao---- <3.93g
-
至此遷移成功
-
[root@bogon ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 12.6G 0 rom /mnt/cdrom nvme0n1 259:0 0 60G 0 disk ├─nvme0n1p1 259:1 0 1G 0 part /boot └─nvme0n1p2 259:2 0 59G 0 part ├─rhel-root 253:0 0 37G 0 lvm / ├─rhel-swap 253:1 0 3.9G 0 lvm [SWAP] └─rhel-home 253:2 0 18.1G 0 lvm /home nvme0n2 259:3 0 5G 0 disk ├─nvme0n2p1 259:4 0 300M 0 part └─nvme0n2p2 259:5 0 600M 0 part nvme0n3 259:6 0 10G 0 disk ├─nvme0n3p1 259:7 0 1G 0 part ├─nvme0n3p2 259:8 0 1K 0 part ├─nvme0n3p5 259:9 0 500M 0 part │ └─myvg_ext4-mylv_ext4 253:4 0 600M 0 lvm /mnt/lvmext4 └─nvme0n3p6 259:10 0 500M 0 part └─myvg_ext4-mylv_ext4 253:4 0 600M 0 lvm /mnt/lvmext4 nvme0n4 259:12 0 10G 0 disk ├─nvme0n4p1 259:13 0 1G 0 part │ └─myvg_xfs-mylv_xfs 253:3 0 300M 0 lvm /mnt/lvxfs └─nvme0n4p2
-
ext4檔案系統和xfs檔案系統操作相同
-
-
使用硬碟快照來進行備份
-
透過建立硬碟快照,對分割槽中的內進行備份,如果硬碟中的資料丟失,可以透過硬碟快照來恢復硬碟中的資料
-
建立快照
-
[root@bogon ~]# lvcreate -n mylv_xfs_snap -s -L 100M /dev/myvg_xfs/mylv_xfs Logical volume "mylv_xfs_snap" created.
-
對硬碟快照進行掛載,由於硬碟快照和硬碟分割槽的UUID是相同的,但是掛載點不同,因此在對磁碟快照進行掛載時要帶上忽略uuid的引數nouuid
-
[root@bogon ~]# mount -o nouuid /dev/myvg_xfs/mylv_xfs_snap /mnt/snap/
-
當硬碟分割槽的檔案發生錯誤時,我們可以透過快照復原丟失的檔案
-
[root@bogon ~]# cat /mnt/snap/etc/fstab > /mnt/lvxfs/etc/fstab [root@bogon ~]# diff /mnt/snap/etc/fstab /mnt/lvxfs/etc/fstab
-
對於快照,我們在需要時進行掛載,在不需要時即可下線
-
-
6、邏輯卷的移除
在邏輯卷之前要先下線裝置
-
首先移除LVM
-
[root@bogon ~]# lvremove /dev/myvg/mylv /dev/myxfs_vg/myxfs_lv Do you really want to remove active logical volume myvg/mylv? [y/n]: y Logical volume "mylv" successfully removed. Do you really want to remove active logical volume myxfs_vg/myxfs_lv? [y/n]: y Logical volume "myxfs_lv" successfully removed. [root@bogon ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home rhel -wi-ao---- <18.07g root rhel -wi-ao---- 37.00g swap rhel -wi-ao---- <3.93g
-
-
再移除VG
-
[root@bogon ~]# vgs VG #PV #LV #SN Attr VSize VFree myvg 1 0 0 wz--n- 1020.00m 1020.00m myxfs_vg 1 0 0 wz--n- 1020.00m 1020.00m rhel 1 3 0 wz--n- <59.00g 0 [root@bogon ~]# vgremove myvg myxfs_vg Volume group "myvg" successfully removed Volume group "myxfs_vg" successfully removed [root@bogon ~]# vgs VG #PV #LV #SN Attr VSize VFree rhel 1 3 0 wz--n- <59.00g 0
-
-
最後移除PV
-
[root@bogon ~]# pvs PV VG Fmt Attr PSize PFree /dev/nvme0n1p2 rhel lvm2 a-- <59.00g 0 /dev/nvme0n3p1 lvm2 --- 500.00m 500.00m /dev/nvme0n3p2 lvm2 --- 500.00m 500.00m /dev/nvme0n4p1 lvm2 --- 1.00g 1.00g /dev/nvme0n4p2 lvm2 --- 1.00g 1.00g [root@bogon ~]# pvremove /dev/nvme0n3* /dev/nvme0n4* Cannot use /dev/nvme0n4: device is partitioned No PV found on device /dev/nvme0n3. Labels on physical volume "/dev/nvme0n3p1" successfully wiped. Labels on physical volume "/dev/nvme0n3p2" successfully wiped. Labels on physical volume "/dev/nvme0n4p1" successfully wiped. Labels on physical volume "/dev/nvme0n4p2" successfully wiped. [root@bogon ~]# pvs PV VG Fmt Attr PSize PFree /dev/nvme0n1p2 rhel lvm2 a-- <59.00g 0
-
7、邏輯卷啟用與反啟用
-
在進行啟用與反啟用切換時需要先下線
-
檢視邏輯卷狀態,ACTIVE是啟用狀態
-
[root@bogon ~]# lvscan \ ACTIVE '/dev/myvg_ext4/mylv_ext4' [600.00 MiB] inherit ACTIVE Original '/dev/myvg_xfs/mylv_xfs' [300.00 MiB] inherit ACTIVE Snapshot '/dev/myvg_xfs/mylv_xfs_snap' [252.00 MiB] inherit ACTIVE '/dev/rhel/swap' [<3.93 GiB] inherit ACTIVE '/dev/rhel/home' [<18.07 GiB] inherit ACTIVE '/dev/rhel/root' [37.00 GiB] inherit
-
inactive是反啟用狀態
-
[root@bogon ~]# umount /mnt/lvmext4 [root@bogon ~]# vgchange -a n myvg_ext4 0 logical volume(s) in volume group "myvg_ext4" now active [root@bogon ~]# lvscan inactive '/dev/myvg_ext4/mylv_ext4' [600.00 MiB] inherit ACTIVE Original '/dev/myvg_xfs/mylv_xfs' [300.00 MiB] inherit ACTIVE Snapshot '/dev/myvg_xfs/mylv_xfs_snap' [252.00 MiB] inherit ACTIVE '/dev/rhel/swap' [<3.93 GiB] inherit ACTIVE '/dev/rhel/home' [<18.07 GiB] inherit ACTIVE '/dev/rhel/root' [37.00 GiB] inherit
-
處於inactive狀態的分割槽是不能夠啟動的
-
切換為ACTIVE狀態
-
[root@bogon ~]# vgchange -a y myvg_ext4 1 logical volume(s) in volume group "myvg_ext4" now active [root@bogon ~]# lvscan ACTIVE '/dev/myvg_ext4/mylv_ext4' [600.00 MiB] inherit ACTIVE Original '/dev/myvg_xfs/mylv_xfs' [300.00 MiB] inherit ACTIVE Snapshot '/dev/myvg_xfs/mylv_xfs_snap' [252.00 MiB] inherit ACTIVE '/dev/rhel/swap' [<3.93 GiB] inherit ACTIVE '/dev/rhel/home' [<18.07 GiB] inherit ACTIVE '/dev/rhel/root' [37.00 GiB] inherit
7、卷組的PE
在我們想要進行邏輯卷建立時,會出現如下問題
我想建立一個10M的邏輯卷,它提示我建立好了一個12M的邏輯卷
❓這是為什麼呢
{24-06-03 10:59}locahost:~ root# lvcreate -L 10M -n lvxixi systemvg
Rounding up size to full physical extent 12.00 MiB
Logical volume "lvxixi" created
主要原因:
在卷組當中存在著一個PE(擴充套件單元)的機制,由於邏輯卷的建立是基於卷組去實現的,而在卷組的角度來說,我只能分給邏輯卷整數個PE的大小。
PE預設是4M,因此,邏輯卷預設只能建立4M整數倍的大小,這也就解釋了為什麼我想建立10M的大小,系統卻建立出了12M的大小
我們可以檢視卷組的PE大小vgdisplay
{24-06-03 11:23}locahost:~ root# vgdisplay systemvg | egrep "PE"
PE Size 1.00 MiB
Total PE 71660
Alloc PE / Size 25643 / 25.04 GiB
Free PE / Size 46017 / <44.94 GiB
卷組的預設PE值是可以進行修改的,在修改時,一般不能修改成單數(1除外)
vgchange
{24-06-03 11:08}locahost:~ root# vgchange -s 1M systemvg
Volume group "systemvg" successfully changed
當我們修改完後,就可以建立11M的邏輯捲了
{24-06-03 11:09}locahost:~ root# lvcreate -L 11M -n lvhehe systemvg
Logical volume "lvhehe" created.
PE是不能隨便修改的,當我們修改為1M,並且建立了一個11M的邏輯卷
此時我們如果想繼續修改PE,那就必須修改為11的倍數才行。
我們想建立一個10個PE大小的邏輯卷,我們可以直接指定大小
也可以從個數方面去建立
lvcreate -l
{24-06-03 11:09}locahost:~ root# lvcreate -l 20 -n lvtest systemvg
Logical volume "lvtest" created.
【6】、RAID磁碟陣列
RAID:進行磁碟整合,將多塊硬碟整合到一起,形成RAID盤,多個RAID盤也可以繼續整合為一個虛擬硬碟,在虛擬硬碟中就可以繼續建立邏輯捲了,這種方式的優勢:允許壞掉幾塊硬碟,資料不會丟失
LVM邏輯卷:進行磁碟擴容
RAID磁碟陣列:
- 中文全稱:獨立磁碟冗餘陣列,簡稱磁碟陣列
- RAID可以透過技術(軟體/硬體)將多個獨立的磁碟整個成一個巨大的邏輯磁碟使用
- RAID可以提高資料I/O速度和冗餘的資料功能
1、RAID級別
-
RAID0模式(條帶模式)
- RAID0 是一種非常簡單的的方式,它將多塊磁碟組合在一起形成一個大容量的儲存。當我們要寫資料的時候,會將資料分為N份,以獨立的方式實現N塊磁碟的讀寫,那麼這N份資料會同時併發的寫到磁碟中,因此寫入的速度非常的高。RAID0 的讀寫效能理論上是單塊磁碟的N倍(僅限理論,因為實際中磁碟的定址時間也是效能佔用的大頭)
- 但RAID0的問題是,它並不提供資料校驗或冗餘備份,因此一旦某塊磁碟損壞了,資料就直接丟失,無法恢復了。因此RAID0就不可能用於高要求的業務中,但可以用在對可靠性要求不高,對讀寫效能要求高的場景中。
-
RAID1模式
-
RAID1 是磁碟陣列中單位成本最高的一種方式。因為它的原理是在往磁碟寫資料的時候,將同一份資料無差別的寫兩份到磁碟,分別寫到工作磁碟和映象磁碟,那麼它的實際空間使用率只有50%了,兩塊磁碟當做一塊用,這是一種比較昂貴的方案。
RAID1其實與RAID0效果剛好相反。RAID1 這種寫雙份的做法,就給資料做了一個冗餘備份。這樣的話,任何一塊磁碟損壞了,都可以再基於另外一塊磁碟去恢復資料,資料的可靠性非常強,但讀取效能就沒那麼好了。
-
-
RAID5模式
- RAID5模式中,不再需要用單獨的磁碟寫校驗碼了。它把校驗碼資訊分佈到各個磁碟上。例如,總共有N塊磁碟,那麼會將要寫入的資料分成N份,併發的寫入到N塊磁碟中,同時還將資料的校驗碼資訊也寫入到這N塊磁碟中(資料與對應的校驗碼資訊必須得分開儲存在不同的磁碟上)。一旦某一塊磁碟損壞了,就可以用剩下的資料和對應的奇偶校驗碼資訊去恢復損壞的資料。
- RAID5的方式,最少需要三塊磁碟來組建磁碟陣列,允許最多同時壞一塊磁碟。如果有兩塊磁碟同時損壞了,那資料就無法恢復了。
- RAID5模式存在一塊熱備盤,用於在一塊硬碟壞掉後來頂替舊的盤
-
RAID6模式
-
為了進一步提高儲存的高可用,聰明的人們又提出了RAID6方案,可以在有兩塊磁碟同時損壞的情況下,也能保障資料可恢復。
為什麼RAID6這麼牛呢,因為RAID6在RAID5的基礎上再次改進,引入了雙重校驗的概念(加入了伽羅華域演算法)
RAID6除了每塊磁碟上都有同級資料XOR校驗區以外,還有針對每個資料塊的XOR校驗區,這樣的話,相當於每個資料塊有兩個校驗保護措施,因此資料的冗餘性更高了。
但是RAID6的這種設計也帶來了很高的複雜度,雖然資料冗餘性好,讀取的效率也比較高,但是寫資料的效能就很差。因此RAID6在實際環境中應用的比較少。
-
-
RAID10模式
-
RAID10其實就是RAID1與RAID0的一個合體。
-
RAID10兼備了RAID1和RAID0的有優點。首先基於RAID1模式將磁碟分為2份,當要寫入資料的時候,將所有的資料在兩份磁碟上同時寫入,相當於寫了雙份資料,起到了資料保障的作用。且在每一份磁碟上又會基於RAID0技術講資料分為N份併發的讀寫,這樣也保障了資料的效率。
但也可以看出RAID10模式是有一半的磁碟空間用於儲存冗餘資料的,浪費的很嚴重,因此用的也不是很多。
-
實現RAID的方式
- 透過軟體技術實現RAID功能(軟RAID)
- 外接式磁碟陣列櫃,通常用在大型伺服器上,價格昂貴
- RAID磁碟陣列卡,分為伺服器自帶和額外安裝,影RAID比軟RAID更穩定,RAID卡帶有快取功能可實現資料自動恢復,RAID卡有電池
2、建立軟RAID
mdadm命令建立軟RAID5
-
新增磁碟,磁碟大小要一致,至少3塊磁碟。我們新增四塊磁碟,剩餘一塊用來模擬故障,切換
-
建立軟RAID
-
[root@bogon ~]# mdadm -C /dev/md0 -n 3 -l 5 /dev/nvme0n[234] mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
-
在建立軟RAID時,可以透過檢視記憶體檢視建立過程
-
[root@bogon ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 nvme0n4[3] nvme0n3[1] nvme0n2[0] 10475520 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [===>.................] recovery = 18.9% (994076/5237760) finish=0.2min speed=248519K/sec unused devices: <none> [root@bogon ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 nvme0n4[3] nvme0n3[1] nvme0n2[0] 10475520 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] unused devices: <none>
-
檢視RAID的資訊
-
[root@bogon ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Mon Apr 8 03:21:00 2024 Raid Level : raid5 Array Size : 10475520 (9.99 GiB 10.73 GB) Used Dev Size : 5237760 (5.00 GiB 5.36 GB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Mon Apr 8 03:21:27 2024 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Consistency Policy : resync Name : bogon:0 (local to host bogon) UUID : 178bfb9f:c88b0b14:70373056:288bb63e Events : 18 Number Major Minor RaidDevice State 0 259 3 0 active sync /dev/nvme0n2 1 259 4 1 active sync /dev/nvme0n3 3 259 5 2 active sync /dev/nvme0n4
-
-
編寫RAID的配置檔案使其永久生效
-
[root@bogon ~]# mdadm -E -s --brief > /etc/mdadm.comf [root@bogon ~]# vim /etc/mdadm.comf [root@bogon ~]# cat /etc/mdadm.comf ARRAY /dev/md0 UUID=178bfb9f:c88b0b14:70373056:288bb63e
-
-
在RAID的基礎上建立LVM
-
[root@bogon ~]# pvcreate /dev/md0 Physical volume "/dev/md0" successfully created. [root@bogon ~]# vgcreate mdvg /dev/md0 Volume group "mdvg" successfully created [root@bogon ~]# lvcreate -n mdlv -L 3G mdvg Logical volume "mdlv" created. [root@bogon ~]# mkfs.ext4 /dev/mdvg/mdlv mke2fs 1.45.6 (20-Mar-2020) Creating filesystem with 786432 4k blocks and 196608 inodes Filesystem UUID: e12f0f0a-46d2-460e-a63b-0e025707b97b Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done 進行永久掛載
-
-
模擬硬碟故障
-
[root@bogon ~]# mdadm --manage /dev/md0 --fail /dev/nvme0n4 mdadm: set /dev/nvme0n4 faulty in /dev/md0 [root@bogon ~]# mdadm --manage /dev/md0 --remove /dev/nvme0n4 mdadm: hot removed /dev/nvme0n4 from /dev/md0 [root@bogon ~]# mdadm --manage /dev/md0 --add /dev/nvme0n5 mdadm: added /dev/nvme0n5
-
資料不會丟失
-
-
刪除磁碟陣列
-
刪除LVM
-
[root@bogon ~]# umount /mnt/lvmext4 [root@bogon ~]# [root@bogon ~]# [root@bogon ~]# lvremove /dev/mdvg/mdlv Do you really want to remove active logical volume mdvg/mdlv? [y/n]: y Logical volume "mdlv" successfully removed. [root@bogon ~]# vgremove mdvg Volume group "mdvg" successfully removed [root@bogon ~]# pvremove /dev/md0 Labels on physical volume "/dev/md0" successfully wiped. [root@bogon ~]#
-
-
停止RAID
-
[root@bogon ~]# mdadm -S /dev/md0 mdadm: stopped /dev/md0
-
-
刪除RAID的配置檔案
-
[root@bogon ~]# rm -rf /etc/mdadm.comf
-
重啟RAID 進行測試
-
[root@bogon ~]# mdadm -As /dev/md0 mdadm: /dev/md0 not identified in config file. #無法重啟證明配置檔案刪除成功
-
-
進行重啟
-
重啟後檢查硬碟中是否存在RAID的快取
-
沒有快取,證明RAID被完全刪除
-
有快取,強制刪除
-
[root@bogon ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md127 : active (auto-read-only) raid5 nvme0n3[1] nvme0n2[0] nvme0n5[3] 10475520 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] unused devices: <none> [root@bogon ~]# mdadm --zero-superblock /dev/nvme0n2 [root@bogon ~]# mdadm --zero-superblock /dev/nvme0n3 [root@bogon ~]# mdadm --zero-superblock /dev/nvme0n4 [root@bogon ~]# mdadm --zero-superblock /dev/nvme0n5 [root@bogon ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] unused devices: <none>
-
-
3、監控RAIDs
-
監控RAID可以在磁碟發生故障時通知我們,進而可以及時更換硬碟
-
在/etc/mdamd.conf中設定正確的郵件,確保可以將通知傳送給我們
[root@locahost ~]# echo "MAILADDR xuruizhao00@163.com" >> /etc/mdadm.conf
-
開啟監視服務
[root@locahost ~]# systemctl start mdmonitor.service [root@locahost ~]# systemctl status mdmonitor.service ● mdmonitor.service - Software RAID monitoring and management Loaded: loaded (/usr/lib/systemd/system/mdmonitor.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2024-04-08 22:34:54 EDT; 4min 57s ago Process: 2639 ExecStart=/sbin/mdadm --monitor --scan -f --pid-file=/var/run/mdadm/mdadm.pid (code=exited, status=0/SUCCESS) Main PID: 2640 (mdadm) Tasks: 1 (limit: 24565) Memory: 652.0K CGroup: /system.slice/mdmonitor.service └─2640 /sbin/mdadm --monitor --scan -f --pid-file=/var/run/mdadm/mdadm.pid Apr 08 22:34:54 locahost systemd[1]: Starting Software RAID monitoring and management... Apr 08 22:34:54 locahost systemd[1]: Started Software RAID monitoring and management.
【7】、parted命令
和fdisk一樣,都可以對磁碟進行分割槽。
fdisk命令進行磁碟分割槽:進位制是1024,更加貼合Linux中磁碟的容量
parted命令進行磁碟分割槽:進位制是1000,更貼合廠商的硬碟劃分
{24-06-03 8:52}locahost:~ root# parted /dev/sde
GNU Parted 3.2
Using /dev/sde
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mktable gpt
(parted) mkpart
Partition name? []?
File system type? [ext2]?
Start? 0
End? 5G
Warning: The resulting partition is not properly aligned for best performance: 34s % 2048s != 0s
Ignore/Cancel? Ignore
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sde: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 5000MB 5000MB ext2
(parted) mkpart
Partition name? []?
File system type? [ext2]?
Start? 5G
End? 100%
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sde: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 5000MB 5000MB ext2
2 5001MB 21.5GB 16.5GB ext2
(parted) quit
Information: You may need to update /etc/fstab.
【8】、VDO卷
做VDO需要2GB及以上記憶體
- 重刪資料
- 相同的資料只存放一份,重複的資料會刪除
- 虛擬大小
- 他本身有20G,但是可以對外聲稱2000G,建議10倍之差