網站首頁 編程語言 正文
前言
本文介紹如何縮減XFS分區格式的?? / ?
??目錄。如果需要縮減邏輯卷上的XFS文件系統,則需要通過備份、恢復和重新創建邏輯卷來實現。
系統環境
??Centos??8
當前系統分區布局
這是當前文件系統布局。當前掛載點/
容量為17G。我們的目的時減少/
的容量。
備份數據
在縮減分區前一定要備份重要數據。如果出現問題了,可以恢復數據。
注意:需要為該服務器額外添加一塊硬盤,用來備份系統分區的。
進入救援模式
在VMware Workstation中,加載光盤,并開機器用。開機按F2,進入BIOS,切換到Boot選項卡。將CD-ROM Drive移動到Hard Drive上面。按F10保存并重啟。
選擇Troubleshooting,然后選擇進入救援模式。
當進入下面界面時,選擇3,直接進入shell界面。
進入救援模式,可以看到/mnt/sysimage
目錄沒有掛載系統分區。
# ls -al /mnt/sysimage/
激活邏輯卷組
掛載分區之前,需要激活邏輯卷,下面激活卷組:
# vgchange -ay 2 logical volume(s) in volume group "cl" now active # vgs VG #PV #LV #SN Attr VSize VFree cl 1 2 0 wz--n- <19.00g 0
掛載系統分區和用來備份數據的分區
首先從備份開始,我們需要將邏輯卷掛載在某個位置。通過臨時掛載它,我們可以將??/?
?分區備份到任何其他位置,并且在執行還原時需要對其進行訪問。
現在,在/mnt/sysimage/下創建兩個目錄。一個用于掛載該服務器的實際??/?
?分區,另一個將用于存儲??/?
?分區的備份。
# mkdir /mnt/sysimage/root # mkdir /mnt/sysimage/backup # mount /dev/cl/root /mnt/sysimage/root # mount /dev/sda /mnt/sysimage/backup/
使用xfsdump備份/分區
通過運行??xfsdump?
?來執行備份。
# xfsdump -l 0 -L "root lv backup" -M "backup" -f /mnt/sysimage/backup/root_backup.img /mnt/sysimage/root
dump使用級別0
(備份所有文件)時,將提示輸入備份會話標簽和媒體標簽,我們可以通過以下選項-f
將-L
和-M
添加到以下內容來避免出現提示:
??-l 0?
? 備份級別設置為0,0級指所有文件都將備份 。
??-L?
? 指定備份會話的標簽
??-M?
? 指定第一個媒介的標簽?
?-f?
? 指定備份目的文件。
卸載文件系統
備份完成后,我們可以卸載文件系統。
# umount /mnt/sysimage/root/
縮減/分區
使用??lvremove?
???命令??刪除邏輯卷,并使用??lvcreate?
?來創建新的卷。
# lvremove /dev/cl/root Do you really want to remove active logical volume cl/root? [y/n]: y Logical volume "root" successfully removed
之后,創建所需的邏輯卷大小,下面創建邏輯卷大小為15G。
# lvcreate -Zy -L 15G -n root cl
使用-Zy
將新的邏輯卷中的前4KiB數據清零。
創建新的XFS分區
# mkfs.xfs /dev/cl/root
掛載并恢復數據
文件系統準備就緒后,將其掛載在/mnt/sysimage/root目錄中:
# mount /dev/cl/root /mnt/sysimage/root/
使用??xfsrestore?
???命令??恢復之前備份的數據:
# xfsrestore -f /mnt/sysimage/backup/root_backup.img /mnt/sysimage/root
重啟進入系統檢查是否正常。斷開虛擬機的光驅連接,開機按F2,進入BIOS,設置引導順序,將硬盤放在第一項啟動,F10保存并重啟:
進入系統之后,檢查分區大小是否以縮減:
[root@localhost ~]# df -hT / Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/cl-root xfs 15G 1.7G 14G 11% /
總結
就這樣,借助??xfsdump?
?和??xfsrestore?
?實用程序,我們完成了縮減XFS文件系統和邏輯卷的工作。
原文鏈接:https://blog.51cto.com/linux2022/4755724
相關推薦
- 2022-11-14 深度強化學習預訓練,在線、離線
- 2022-07-07 python中list*n生成多維數組與for循環生成多維數組的區別說明_python
- 2022-12-15 C++集體數據交換實現示例講解_C 語言
- 2022-07-19 Ribbon負載均衡深入探究
- 2022-12-23 loadavg數據異常引發問題起源分析_Android
- 2022-05-08 ASP.NET中Web?API的參數綁定_實用技巧
- 2022-03-30 利用Python中xlwt模塊操作excel的示例詳解_python
- 2022-10-30 Go中的錯誤和異常處理最佳實踐方法_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支