LVM管理

来源:https://www.cnblogs.com/tushanbu/archive/2022/07/18/16492058.html
-Advertisement-
Play Games

LVM管理 lvm管理 部署lvm 格式化邏輯捲(剛剛創建出來的):mkfs.ext4格式、還是xfs_growfs 格式都可以 [root@lnh ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─s ...


LVM管理


目錄

lvm管理

部署lvm

格式化邏輯捲(剛剛創建出來的):mkfs.ext4格式、還是xfs_growfs 格式都可以

[root@lnh ~]# lsblk 
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0  100G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   99G  0 part 
  ├─cs-root 253:0    0 65.2G  0 lvm  /
  ├─cs-swap 253:1    0    2G  0 lvm  [SWAP]
  └─cs-home 253:2    0 31.8G  0 lvm  /home
sdb           8:16   0    5G  0 disk 
sdc           8:32   0    5G  0 disk 
sdd           8:48   0    5G  0 disk 
sde           8:64   0    5G  0 disk 
sr0          11:0    1    9G  0 rom  
//查看一下磁碟
[root@lnh ~]# pvcreate /dev/sd{d,e}   //創建物理捲
  Physical volume "/dev/sdd" successfully created.
  Physical volume "/dev/sde" successfully created.
[root@lnh ~]# pvs          //查看物理捲
  PV         VG Fmt  Attr PSize   PFree
  /dev/sda2  cs lvm2 a--  <99.00g    0 
  /dev/sdd      lvm2 ---    5.00g 5.00g
  /dev/sde      lvm2 ---    5.00g 5.00g
[root@lnh ~]# vgcreate lnh /dev/sd{d,e} //創建捲組
  Volume group "lnh" successfully created
[root@lnh ~]# vgs     //查看捲組
  VG  #PV #LV #SN Attr   VSize   VFree
  cs    1   3   0 wz--n- <99.00g    0 
  lnh   2   0   0 wz--n-   9.99g 9.99g
[root@lnh ~]# lvcreate -n lnh1 -L 3G lnh  //創建邏輯捲
  Logical volume "lnh1" created.
[root@lnh ~]# lvs        //查看邏輯捲
  LV   VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home cs  -wi-ao---- 31.81g                                                    
  root cs  -wi-ao---- 65.15g                                                    
  swap cs  -wi-ao----  2.03g                                                    
  lnh1 lnh -wi-a-----  3.00g                                                    
[root@lnh ~]# mkfs.ext4 /dev/lnh/lnh1  //格式化邏輯捲(絕對路徑)
mke2fs 1.45.6 (20-Mar-2020)   //也可以用 xfs_growfs格式化
Creating filesystem with 786432 4k blocks and 196608 inodes
Filesystem UUID: 00961f51-0f48-492d-aac0-1e2fb3de6922
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@lnh ~]# mkdir /ma   //創建邏輯捲掛載點目錄
[root@lnh ~]# blkid | grep lnh1     //過濾出邏輯捲的uuid
/dev/mapper/lnh-lnh1: UUID="00961f51-0f48-492d-aac0-1e2fb3de6922" BLOCK_SIZE="4096" TYPE="ext4"
[root@lnh ~]# vim /etc/fstab     //進行永久掛載

[root@lnh ~]# mount -a    //重新載入掛載
[root@lnh ~]# df -Th      //查看
Filesystem           Type      Size  Used Avail Use% Mounted on
devtmpfs             devtmpfs  956M     0  956M   0% /dev
tmpfs                tmpfs     975M     0  975M   0% /dev/shm
tmpfs                tmpfs     975M  8.8M  966M   1% /run
tmpfs                tmpfs     975M     0  975M   0% /sys/fs/cgroup
/dev/mapper/cs-root  xfs        66G  4.2G   62G   7% /
/dev/mapper/cs-home  xfs        32G  260M   32G   1% /home
/dev/sda1            xfs      1014M  178M  837M  18% /boot
tmpfs                tmpfs     195M     0  195M   0% /run/user/0
/dev/mapper/lnh-lnh1 ext4      2.9G  9.0M  2.8G   1% /ma

擴展邏輯捲

擴展邏輯捲:mkfs.ext4格式、還是xfs_growfs 格式都可以

[root@lnh ~]# lvextend -L 6G /dev/lnh/lnh1 //將原來的3G擴展到6G(指定大小)
  Size of logical volume lnh/lnh1 changed from 3.00 GiB (768 extents) to 6.00 GiB (1536 extents).
  Logical volume lnh/lnh1 successfully resized.
[root@lnh ~]# resize2fs /dev/lnh/lnh1   //格式化擴展(mkfs.ext4格式)
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/lnh/lnh1 is mounted on /ma; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/lnh/lnh1 is now 1572864 (4k) blocks long.

[root@lnh ~]# df -Th   //查看
Filesystem           Type      Size  Used Avail Use% Mounted on
devtmpfs             devtmpfs  956M     0  956M   0% /dev
tmpfs                tmpfs     975M     0  975M   0% /dev/shm
tmpfs                tmpfs     975M  8.8M  966M   1% /run
tmpfs                tmpfs     975M     0  975M   0% /sys/fs/cgroup
/dev/mapper/cs-root  xfs        66G  4.2G   62G   7% /
/dev/mapper/cs-home  xfs        32G  260M   32G   1% /home
/dev/sda1            xfs      1014M  178M  837M  18% /boot
tmpfs                tmpfs     195M     0  195M   0% /run/user/0
/dev/mapper/lnh-lnh1 ext4      5.9G   12M  5.6G   1% /ma
//lvextend -L +6G /dev/lnh/lnh1在我這個lnh1邏輯捲3G的基礎上再擴展6G
如果這個邏輯捲之前是xfs_growfs格式的那麼要用xfs_growfs 格式擴展格式化

裁剪邏輯捲

[root@lnh ~]# umount /ma //取消掛載
[root@lnh ~]# e2fsck -f /dev/lnh/lnh1  //檢查lnh1邏輯捲文件系統
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/lnh/lnh1: 11/393216 files (0.0% non-contiguous), 47214/1572864 blocks
[root@lnh ~]# resize2fs /dev/lnh/lnh1 4G   
resize2fs 1.45.6 (20-Mar-2020)
Resizing the filesystem on /dev/lnh/lnh1 to 1048576 (4k) blocks.
The filesystem on /dev/lnh/lnh1 is now 1048576 (4k) blocks long.
[root@lnh ~]# lvreduce -L 4G /dev/lnh/lnh1   //格式化裁剪到4G
  WARNING: Reducing active logical volume to 4.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lnh/lnh1? [y/n]: y
  Size of logical volume lnh/lnh1 changed from 6.00 GiB (1536 extents) to 4.00 GiB (1024 extents).
  Logical volume lnh/lnh1 successfully resized.
[root@lnh ~]# e2fsck -f /dev/lnh/lnh1 //檢查lnh1邏輯捲文件系統
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/lnh/lnh1: 11/262144 files (0.0% non-contiguous), 38990/1048576 blocks
[root@lnh ~]# mount -a   //讀取掛載
[root@lnh ~]# df -Th   //查看
Filesystem           Type      Size  Used Avail Use% Mounted on
devtmpfs             devtmpfs  956M     0  956M   0% /dev
tmpfs                tmpfs     975M     0  975M   0% /dev/shm
tmpfs                tmpfs     975M  8.8M  966M   1% /run
tmpfs                tmpfs     975M     0  975M   0% /sys/fs/cgroup
/dev/mapper/cs-root  xfs        66G  4.2G   62G   7% /
/dev/mapper/cs-home  xfs        32G  260M   32G   1% /home
/dev/sda1            xfs      1014M  178M  837M  18% /boot
tmpfs                tmpfs     195M     0  195M   0% /run/user/0
/dev/mapper/lnh-lnh1 ext4      3.9G   24M  3.7G   1% /ma

刪除捲

[root@lnh ~]# df -Th
Filesystem           Type      Size  Used Avail Use% Mounted on
devtmpfs             devtmpfs  956M     0  956M   0% /dev
tmpfs                tmpfs     975M     0  975M   0% /dev/shm
tmpfs                tmpfs     975M  8.8M  966M   1% /run
tmpfs                tmpfs     975M     0  975M   0% /sys/fs/cgroup
/dev/mapper/cs-root  xfs        66G  4.2G   62G   7% /
/dev/mapper/cs-home  xfs        32G  260M   32G   1% /home
/dev/sda1            xfs      1014M  178M  837M  18% /boot
tmpfs                tmpfs     195M     0  195M   0% /run/user/0
/dev/mapper/lnh-lnh1 ext4      3.9G   24M  3.7G   1% /ma
[root@lnh ~]# umount /ma  //取消掛載
[root@lnh ~]# lvs         //查看邏輯捲
  LV   VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home cs  -wi-ao---- 31.81g                                                    
  root cs  -wi-ao---- 65.15g                                                    
  swap cs  -wi-ao----  2.03g                                                    
  lnh1 lnh -wi-ao----  4.00g                               
[root@lnh ~]# lvremove /dev/lnh/lnh1    //刪除邏輯捲
Do you really want to remove active logical volume lnh/lnh1? [y/n]: y
  Logical volume "lnh1" successfully removed
[root@lnh ~]# lvs
  LV   VG Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home cs -wi-ao---- 31.81g                                                    
  root cs -wi-ao---- 65.15g                                                    
  swap cs -wi-ao----  2.03g  
[root@lnh ~]# vgs
  VG  #PV #LV #SN Attr   VSize   VFree
  cs    1   3   0 wz--n- <99.00g    0 
  lnh   2   1   0 wz--n-   9.99g 5.99g
[root@lnh ~]# vgremove lnh      //刪除捲組
  Volume group "lnh" successfully removed
[root@lnh ~]# vgs
  VG #PV #LV #SN Attr   VSize   VFree
  cs   1   3   0 wz--n- <99.00g    0 
[root@lnh ~]# pvs
  PV         VG Fmt  Attr PSize   PFree
  /dev/sda2  cs lvm2 a--  <99.00g    0 
  /dev/sdd      lvm2 ---    5.00g 5.00g
  /dev/sde      lvm2 ---    5.00g 5.00g
[root@lnh ~]# pvremove /dev/sd{d,e}    //刪除物理捲
  Labels on physical volume "/dev/sdd" successfully wiped.
  Labels on physical volume "/dev/sde" successfully wiped.
[root@lnh ~]# pvs
  PV         VG Fmt  Attr PSize   PFree
  /dev/sda2  cs lvm2 a--  <99.00g    0 
[root@lnh ~]# pvcreate /dev/sd{c,d,e}
WARNING: sun signature detected on /dev/sdc at offset 508. Wipe it? [y/n]: y
  Wiping sun signature on /dev/sdc.
  Physical volume "/dev/sdc" successfully created.
  Physical volume "/dev/sdd" successfully created.
  Physical volume "/dev/sde" successfully created.
[root@lnh ~]# pvs
  PV         VG Fmt  Attr PSize   PFree
  /dev/sda2  cs lvm2 a--  <99.00g    0 
  /dev/sdc      lvm2 ---    5.00g 5.00g
  /dev/sdd      lvm2 ---    5.00g 5.00g
  /dev/sde      lvm2 ---    5.00g 5.00g
[root@lnh ~]# vgcreate lnh /dev/sd{c,d,e}
  Volume group "lnh" successfully created
[root@lnh ~]# vgs
  VG  #PV #LV #SN Attr   VSize   VFree  
  cs    1   3   0 wz--n- <99.00g      0 
  lnh   3   0   0 wz--n- <14.99g <14.99g
[root@lnh ~]# vgreduce lnh /dev/sdc
  Removed "/dev/sdc" from volume group "lnh"
[root@lnh ~]# vgs
  VG  #PV #LV #SN Attr   VSize   VFree
  cs    1   3   0 wz--n- <99.00g    0 
  lnh   2   0   0 wz--n-   9.99g 9.99g
[root@lnh ~]# vgreduce lnh /dev/sdd
  Removed "/dev/sdd" from volume group "lnh"
[root@lnh ~]# vgs
  VG  #PV #LV #SN Attr   VSize   VFree 
  cs    1   3   0 wz--n- <99.00g     0 
  lnh   1   0   0 wz--n-  <5.00g <5.00g
//從同一個捲組的中移除物理捲

同捲組進行數據遷移

[root@lnh ~]# vgcreate lnh /dev/sd{b,c}
  Volume group "lnh" successfully created
[root@lnh ~]# vgs
  VG  #PV #LV #SN Attr   VSize   VFree
  cs    1   3   0 wz--n- <99.00g    0 
  lnh   2   0   0 wz--n-   9.99g 9.99g
[root@lnh ~]# pvs
  PV         VG  Fmt  Attr PSize   PFree 
  /dev/sda2  cs  lvm2 a--  <99.00g     0 
  /dev/sdb   lnh lvm2 a--   <5.00g <5.00g
  /dev/sdc   lnh lvm2 a--   <5.00g <5.00g
[root@lnh ~]# pvmove /dev/sdb
  /dev/sdb: Moved: 5.08%
  /dev/sdb: Moved: 100.00%
[root@lnh ~]# pvs
  PV         VG  Fmt  Attr PSize   PFree 
  /dev/sda2  cs  lvm2 a--  <99.00g     0 
  /dev/sdb   lnh lvm2 a--   <5.00g <5.00g
  /dev/sdc   lnh lvm2 a--   <5.00g <4.00g
//本來是sdb裡面它的總大小是5G,內部資料占用了1G,然後數據轉移後就變成sdc裡面的內部質量占1G,總大小5G

linux計劃任務管理

作業

  1. 在linux系統中備份腳本backup.sh需要再每周1-5的每天下午1點和晚上8點執行,下列哪個cron命令可以完成(d)
a. 00 13,20 * 1-5 * backup.sh
b. 0 13,20 1,5 * * backup.sh
c. * 13,20 * * 1-5 backup.sh
d. 00 13,20 * * 1-5 backup.sh
說明以上答案每一行是什麼含義
a:每年1-5月的每天下午1點和晚上8點執行
b:每月的1號和5號每天下午1點和晚上8點執行
c:錯誤表示
d:每周星期一到星期五的每天下午1點和晚上8點執行
  1. 新建/scripts/httpd.sh文件,並讓/scripts/httpd.sh腳本在每天的00:10分執行
[root@lnh ~]# mkdir /scripts
[root@lnh ~]# touch /scripts/httpd.sh
[root@lnh ~]# crontab -e
crontab: installing new crontab
[root@lnh ~]# crontab -l
10 00 * * * /usr/bin/sh /scripts/httpd.sh
  1. 新建/backup目錄,每周一下午5:50將/backup目錄下的所有文件打包成 backup.tar.gz
[root@lnh ~]# mkdir /backup
[root@lnh ~]# which tar
/usr/bin/tar
[root@lnh ~]# crontab -e
crontab: installing new crontab
[root@lnh ~]# crontab -l
##壓縮
50 17 * * * /usr/bin/tar -zcf backup.tar.gz /backup
  1. 寫一個定時任務,每天0點5分把/var/log/nginx下7天前的文件轉移到/backup/2018_xx_xx的目錄中
[root@lnh ~]# crontab -e
crontab: installing new crontab
[root@lnh ~]# crontab -l
##轉移文件
5 0 * * * /usr/bin/find /var/log/nginx -mtime +7 | xargs /usr/bin/mv {} /backup/$(date '+%Y_%m_%d')
  1. 系統腳本/scripts/which.sh,如何定時每隔7分鐘執行一次?
[root@lnh ~]# crontab -e
crontab: installing new crontab
[root@lnh ~]# crontab -l
*/7 * * * *  /usr/bin/scripts  /scripts/which.sh
  1. 如何不小心刪除了/var/spool/cron/root文件,該如何恢復。
經查,CentOS 系統的 crontab 任務的日誌,列印在 /var/log/cron 之中。考慮過濾日誌:
cat /var/log/cron* | grep -i "某個用戶" | grep "CMD" | awk -F ‘(‘ ‘{print $3}‘ | awk -F ‘)‘ ‘{print $1}‘ | sort -u > crontab_tmp
說明??:

grep -i "某個用戶" :是為了過濾某個用戶的信息。比如你在test這個賬戶下誤操作“crontab -r”刪除當前用戶的crontab文件,那麼你可以使用 grep -i "test" 過濾test賬戶使用的
命令。
後續根據提取出來的命令再去 /var/log/cron文件中確認一下時間間隔,按照指定的方式恢復至/var/spool/cron/。

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上一篇文章講到了標簽在 parseDefaultElement 方法中進行解析,本篇文章將講解這部分內容 bean 標簽解析 查看 processBeanDefinition 方法,針對各個操作作具體分析: protected void processBeanDefinition(Element e ...
  • 不要在foreach迴圈里進行元素的remove/add操作。 remove元素請使用Iterator方式,如果併發操作,需要對Iterator對象加鎖。 正例 List<String> list = new ArrayList<>(); list.add("1"); list.add("2"); ...
  • 米哈游2023秋季招聘正式開始~ [燈泡]簡歷投遞:7.4-10.31 提前批: 7.22號之前投遞部分崗位有機會免筆試 筆試:7月-10月 面試:7月中旬開始 [燈泡] 成功密碼 內推碼拿好,沖! 校招唯一專屬內推碼EYTUC。 校招崗位鏈接:https://taou.cn/2piRI 選擇好崗位 ...
  • 1.過濾器 1.為什麼要使用過濾器 在Web開發中,常常會有這樣的需求:在所有介面中去除用戶輸入的非法字元,以防止引起業務異常。要實現這個功能,可以有很多方法,如: 在前端參數傳入時進行校驗,先過濾掉非法字元,然後,返回用戶界面提示用戶重新輸入。 後端接收前端沒有過濾的數據,然後過濾非法字元。 利用 ...
  • 有時為了確保數據存儲的唯一性,會選擇數據結構中的字典,但往往在存儲數據之後會對數據進行一系列的操作,比如排序等等,但字典在數據結構中是通過鍵值對進行存儲的,這時我們可以通過將字典轉換成對應的數組或動態數組進行排序,再通過排序後的鍵獲得字典中的值便可獲得想要的數據了。 引用的空間 using Syst ...
  • 我們作為咨詢方進行全廠的調研,最終給用戶交付《業務現狀分析與信息化需求評估報告》、《信息化總體規劃報告》、《應用架構設計報告》和《候選產品和潛在供應商名單》。 ...
  • awk的由來 awk這個工具的名字是由三個發明者的首字母組合而成。 awk是一個文本處理工具。 awk的版本 AWK:最早AWK是在unix上實現的,屬於貝爾實驗室的 NAWK:即NEW AWK,是AWK的升級版,也屬於貝爾實驗室。 GAWK:即GNU AWK,基於GNU重新編譯而來的,相容NAWK ...
  • (文章目錄) 前言 相信大多數人都有自己搭建博客網站的想法,本文就手把手一步一步的進行,最終結果類似如下樣式: 一、網站軟體的選擇 軟體選擇成熟而免費的WordPress,WordPress是一款能讓您建立出色網站、博客或應用程式的開源軟體。 可充分利用超過55,000個插件擴展WordPress, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...