首頁 運維 linux運維 帶你玩轉linux下磁碟管理與掛載硬碟

帶你玩轉linux下磁碟管理與掛載硬碟

Jan 17, 2022 pm 06:39 PM
linux

這篇文章帶給大家linux下的磁碟管理中的硬碟掛載,Linux作業系統掛載硬碟需要了解的一些知識。希望對大家有幫助。

帶你玩轉linux下磁碟管理與掛載硬碟

這可能是迄今為止介紹的最最實用的linux硬碟掛載的文章了,比較詳細。由於工作原因,平時使用的比較多。主要目的,只是想讓更多人的了解到linux下掛載磁碟也不是那麼困難。

有幾個常見的檔案系統,以前的老牌檔案系統ext檔案系統(ext2、ext3、ext4)。

在Redhat7系列還是推薦一款優秀的xfs檔案系統,在效能上已經超越了ext檔案系統。 XFS檔案系統是矽谷圖形公司(Silicon Graphic Inc,簡稱SGI)開發的用於IRIX(一個Unix作業系統)的檔案系統,後來將其移植到Linux作業系統上。 XFS是一個高階日誌檔案系統,其優點是極具伸縮性,同樣也極具健壯性。

還有一款btrfs(B-tree檔案系統通常讀作Buffer FS、Better FS、B-tree FS)檔案系統都一樣優秀,Redhat7安裝就自備。

btrfs具有許多特性。例如:寫入快照、快照的快照、內建RAID(通常稱為磁碟陣列)、子磁碟區(subvolume),其最核心的概念是設計

容錯、修復以及易於管理。 btrfs最大容量磁碟區為16EB,單一最大檔案為16EB。

須知:本文全程使用的是安裝選擇語言是簡體中文版的,所以看到的漢字顯示,請不要驚訝。

帶你玩轉linux下磁碟管理與掛載硬碟

開局一張圖,文章全靠編。開個玩笑,純屬逗大家樂一樂。下面的圖片,已經點明了本文的核心內容。

帶你玩轉linux下磁碟管理與掛載硬碟

建議:進行測試,可以使用虛擬機器來配合linux(Redhat系列或Ubuntu建置環境)測試。

一、檢視系統分割區狀況

fdisk參數說明

刪除存在的硬碟分割區,此時會提示需要刪除的序號是哪一個。

  • 刪除分割區:d

  • 新增分割區:n

  • 檢視分割區資訊:p

  • 儲存分割區變更資訊:w

  • 不儲存並退出:q

  • 取得協助訊息:m

1、列出分區表

#列出分區表,從下面的列出的選項可以看出,原始的磁碟磁碟/dev/sda:21.5 GB是初始安裝linux作業系統就分配的。另外一塊磁碟,是我新增的磁碟sdb用來測試示範。

fidsk -l
[root@cnwangk /]# fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0001805e
   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     4507647     2048000   83  Linux
/dev/sda3         4507648     8603647     2048000   82  Linux swap / Solaris
/dev/sda4         8603648    41943039    16669696    5  Extended
/dev/sda5         8605696    41943039    16668672   83  Linux
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x95df3b22
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb2        10485760    20971519     5242880   83  Linux
登入後複製

直接輸入fdisk指令,中文版會提示幫助資訊以及使用方法

fdisk [选项] <磁盘>    更改分区表
#例如新增的磁盘sdb
fdisk /dev/sdb
fdisk [选项] -l <磁盘> 列出分区表
fdisk -s <分区>        给出分区大小(块数)
登入後複製

二、建立linux檔案系統

##1、xfs檔案系統

如下所示,我將新建xfs檔案系統,指向的是新增的一塊磁碟檔案路徑/dev/sdb 。同樣也是Redhat7系列預設推薦的使用格式。

mkfs.xfs  /dev/sdb
登入後複製

做一個簡單說明:xfs檔案系統提供了備份分割區工具xfsdump以供使用者使用。優點在於使用者不用借助第三方軟體就可以實現對xfs檔案系統上的資料實施備份。備份過程如下所示:

xfsdump /backup/dump_sdc1 /sdc1
登入後複製

2、btrfs檔案系統

#如下所示,我將新建btrfs檔案系統,指向的是新增的一塊磁碟檔案路徑/dev/sdb,下面最終示範的也是btrfs檔案系統的設定。

mkfs.btrfs /dev/sdb
登入後複製
3、ext檔案系統

#在Redhat6以及之前,用的還是ext檔案系統。後來到7系列推薦使用xfs檔案系統。

mkfs.ext4 /dev/sdb
登入後複製

三、建立要掛載的路徑

#1、建立掛載的檔案data

使用mkdir指令建立data目錄,用於後續掛載新增的磁碟。

mkdir /data
登入後複製
查看建立好的掛載路徑data,初始是空的
ls /data
登入後複製

#2、使用磁碟

##寫入一個簡單shell的腳本作為演示

echo -e "echo "hello linux"\necho "create btrfs filesystem"" >> /data/data.sh
登入後複製
寫入簡單的shell腳本後,測試檢視並執行這個腳本

#再次查看data盘下的文件
[root@cnwangk /]# ls /data/
data.sh
sh /data/data.sh
#运行脚本
[root@cnwangk /]# sh /data/data.sh 
hello linux
create btrfs filesystem
登入後複製
###從上面可以看出一個基本的磁碟的管理,會引出一些基本指令的使用,如ls、mkdir、echo等等。本文的受眾群體是需要掌握一些linux基本指令知識的。當然能看到本文的,也說明您還是有一些基礎的。 ############四、使用fdisk對/dev/sdb進行分區###################1、分區指令fdisk#### #####

使用fdisk对新增的磁盘/dev/sdb进行分区,之前演示我已经使用主分区2,现在演示是逻辑扩展分区,使用参数e。

  • 新增分区:n

  • 新增主分区:p

  • 扩展分区:e

  • 注意:你可以自定义大小,也可以回车就是使用默认大小和扇区。

fdisk /dev/sdb
[root@cnwangk /]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n #新增分区,p则为主分区,e则为扩展分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e
分区号 (1,3,4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):
将使用默认值 10485759
分区 1 已设置为 Extended 类型,大小设为 5 GiB
命令(输入 m 获取帮助):p #此时用参数p查看未保存的分区信息
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x95df3b22
#查看到新增分区的设备信息
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10485759     5241856    5  Extended
/dev/sdb2        10485760    20971519     5242880   83  Linux
命令(输入 m 获取帮助):w #输入w参数进行保存,输入q进行不保存退出。
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
登入後複製

五、建立btrfs文件系统

1、建立文件系统

新建btrfs文件系统,在确定进行分区之后执行此命令,最后进行挂载磁盘。

mkfs.btrfs /dev/sdb2
登入後複製

同样可以使用如下命令

mkfs -t btrfs /dev/sdb2
登入後複製

六、挂载文件系统

1、挂载命令mount

接着上面建立好btrfs文件系统,此时再挂载到新建的data目录下。虽然是挂载成功了,但只是临时生效,重启会掉盘挂载后硬盘。而且卷标还会显示成字母加数字的一串长字符串,类似这种s1k544y55fsa445dda44sd4545eff4字符串。究其原因,Linux还是以文件系统为核心的。没有目录这个概念,只是方便大家理解,都习惯这样称呼。

1.1、使用mount挂载,看到的是sdb2,是因为之前已经创建了一个分区sdb1。

mount /dev/sdb2 /data
登入後複製

1.2、使用umount卸载

umount /dev/sdb2 /data
登入後複製

2、写入fstab文件

2.1、永久生效需要写入/etc/fstab文件中,使用echo命令追加数据到fstab文件中。

#第一项参数/dev/sdb这里也可以写入UUID的信息
# 第一项参数 第二项参数  第三项参数第四项参数第五项参数
echo /dev/sdb1    /data     btrfs      defaults     0 0  >>  /etc/fstab
echo /dev/sdb2    /data     btrfs      defaults     0 0  >>  /etc/fstab
登入後複製

2.2、输入blkid命令查看卷标或者UUID

# blkid命令
[root@cnwangk /]# blkid
/dev/sda5: UUID="d4708f44-beed-4a9b-bb11-94706e6c0cf5" TYPE="xfs" 
/dev/sda1: UUID="7d56f743-a42d-42e2-876e-d839cc583fa7" TYPE="xfs" 
/dev/sda2: UUID="953b1070-a13a-4b67-ac63-cc376c1dee8d" TYPE="xfs" 
/dev/sda3: UUID="b075b6d0-4d37-4f18-ae59-bf380862b440" TYPE="swap" 
/dev/sdb2: UUID="294c0c25-04be-4791-ab06-520c4283cb58" UUID_SUB="a8b7194a-a694-4a8a-bee1-0ab49821e6bb" TYPE="btrfs"
登入後複製

2.3、当然,你可以使用btrfs自带的命令查看磁盘文件的uuid

[root@cnwangk /]# btrfs filesystem show
Label: none  uuid: 294c0c25-04be-4791-ab06-520c4283cb58
        Total devices 1 FS bytes used 192.00KiB
        devid    1 size 5.00GiB used 536.00MiB path /dev/sdb2
登入後複製

七、永久写入配置文件

1、配置文件fstab展示

注意:解决重启掉盘的问题。强调一点,一旦写入配置文件的参数出现错误异常,大概率导致服务器无法启动,所以修改时需谨慎操作。最好先做备份,再进行操作。

如下我的/ect/fstab配置文件内容,可以看到/dev/sdb2是我测试新增的一块盘进行分区后的配置,使用文件系统格式为btrfs。

# /etc/fstab
# Created by anaconda on Sun Jan  5 21:10:23 2020
#
# Accessible filesystems, by reference, are maintained under &#39;/dev/disk&#39;
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=d4708f44-beed-4a9b-bb11-94706e6c0cf5 /                       xfs     defaults        0 0
UUID=7d56f743-a42d-42e2-876e-d839cc583fa7 /boot                   xfs     defaults        0 0
UUID=953b1070-a13a-4b67-ac63-cc376c1dee8d /home                   xfs     defaults        0 0
UUID=b075b6d0-4d37-4f18-ae59-bf380862b440 swap                    swap    defaults        0 0
/dev/sdb2                                /data                    btrfs   defaults        0 0
登入後複製

2、部分参数详解

写入卷标信息到/etc/fstab文件(Redhat7系列默认推荐格式为xfs,从我文中给出的展示就可看出)

  • 第一项参数:/dev/sdb1(原始磁盘分区路径)

  • 第二项参数:/data(新建的挂载磁盘文件路径,Linux核心是一个文件系统,所以说是文件路径)

  • 第三项参数:btrfs(挂载磁盘文件系统格式)

  • 第四项参数:defaults

  • 第五项参数:0 0

#第一项参数/dev/sdb这里也可以写入UUID的信息

# 第一项参数 第二项参数 第三项参数 第四项参数 第五项参数

echo /dev/sdb1    /data     btrfs      defaults     0 0  >>  /etc/fstab
登入後複製

3、修改配置文件

可以直接编辑文件新增磁盘挂载信息:vim /etc/fstab

写入到/etc/fstab配置文件,文件系统推荐xfs或者btrfs,具体视实际情况而定:

/dev/sdb2    /data     ext4    defaults    0 0
/dev/sdb2    /data     xfs     defaults    0 0
/dev/sdb2    /data     btrfs   defaults    0 0
登入後複製

重启生效:reboot 或者 shutdown -r now

验证挂载是否成功,此时重启系统后可以看到我的新挂载的磁盘/dev/sdb2已经生效了并写入了fstab配置文件。

df -h
[root@cnwangk /]# df -h
文件系统        容量  已用  可用 已用% 挂载点
devtmpfs        907M     0  907M    0% /dev
tmpfs           917M     0  917M    0% /dev/shm
tmpfs           917M  9.3M  908M    2% /run
tmpfs           917M     0  917M    0% /sys/fs/cgroup
/dev/sda5        16G  7.1G  8.9G   45% /
/dev/sdb2       5.0G   17M  4.5G    1% /data
/dev/sda2       2.0G   34M  2.0G    2% /home
/dev/sda1       197M  154M   43M   79% /boot
tmpfs           184M     0  184M    0% /run/user/0
登入後複製
登入後複製

八、磁盘管理

其实,上面对硬盘进行分区已经使用到了磁盘管理命令格式化分区mkfs、分区fdisk,属于基本的磁盘管理。还有最常用的df,用来查看磁盘空间占用情况;mount与umount命令进行挂载与卸载磁盘。主要想引出的是如下的第三方ssm管理工具。

看到这个ssm不要与Javaweb中的框架组合ssm(Spring Springmvc Mybatis)混淆了。

1、ssm管理工具

ssm(System Storage Manager)管理逻辑卷。默认没有安装,需要手动安装,下载rpm包或者直接yum源在线安装都行:

#提供yum在线安装方式
yum -y install system-storage-manager.noarch
登入後複製

安装完后,如下使用ssm命令即可展示效果:

[root@cnwangk /]# ssm list
-----------------------------------------------------------------
Device        Free       Used      Total  Pool        Mount point
-----------------------------------------------------------------
/dev/fd0                         4.00 KB                         
/dev/sda                        20.00 GB                         
/dev/sda1                      200.00 MB              /boot      
/dev/sda2                        1.95 GB              /home      
/dev/sda3                        1.95 GB              SWAP       
/dev/sda4                        1.00 KB                         
/dev/sda5                       15.90 GB              /          
/dev/sdb                        10.00 GB                         
/dev/sdb1                        1.00 MB                         
/dev/sdb2  4.48 GB  536.00 MB    5.00 GB  btrfs_sdb2             
-----------------------------------------------------------------
-----------------------------------------------------
Pool        Type   Devices     Free     Used    Total  
-----------------------------------------------------
btrfs_sdb2  btrfs  1        5.00 GB  5.00 GB  5.00 GB  
-----------------------------------------------------
-----------------------------------------------------------------------------------
Volume      Pool        Volume size  FS       FS size      Free  Type   Mount point
-----------------------------------------------------------------------------------
btrfs_sdb2  btrfs_sdb2      5.00 GB  btrfs    5.00 GB   5.00 GB  btrfs  /data      
/dev/sda1                 200.00 MB  xfs    196.66 MB  42.79 MB         /boot      
/dev/sda2                   1.95 GB  xfs      1.94 GB   1.91 GB         /home      
/dev/sda5                  15.90 GB  xfs     15.89 GB   8.87 GB         /          
-----------------------------------------------------------------------------------
登入後複製

2、linux自带的磁盘命令

比如,查看磁盘空间状态,加上参数-h以(K、M、G)形式显示。虽然df可以以多种形式展示,但个人工作中最常用的,还是加上-h参数使用的最为频繁。下面以加上参数-h为例子进行展示:

df -h
[root@cnwangk /]# df -h
文件系统        容量  已用  可用 已用% 挂载点
devtmpfs        907M     0  907M    0% /dev
tmpfs           917M     0  917M    0% /dev/shm
tmpfs           917M  9.3M  908M    2% /run
tmpfs           917M     0  917M    0% /sys/fs/cgroup
/dev/sda5        16G  7.1G  8.9G   45% /
/dev/sdb2       5.0G   17M  4.5G    1% /data
/dev/sda2       2.0G   34M  2.0G    2% /home
/dev/sda1       197M  154M   43M   79% /boot
tmpfs           184M     0  184M    0% /run/user/0
登入後複製
登入後複製

在df命令后加上-a参数,显示所有文件系统磁盘使用情况,这里就不贴输出的内容了,显示内容太长了。

df -ah

以上就是這次文章的所有內容的,希望能對你的工作有所幫助。感覺寫的好,就拿出你的一鍵三連。如果感覺總結的不到位,也希望能留下您寶貴的意見,我會在文章中進行調整優化。

原創不易,轉載也請標示出處,尊重原創。本文會不定期上傳到gitee或github以及VX公眾平台。

最後給出心智圖,湊合著看看吧,權當有個印象!

帶你玩轉linux下磁碟管理與掛載硬碟

相關推薦:《Linux影片教學

以上是帶你玩轉linux下磁碟管理與掛載硬碟的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

vscode需要什麼電腦配置 vscode需要什麼電腦配置 Apr 15, 2025 pm 09:48 PM

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

vscode終端使用教程 vscode終端使用教程 Apr 15, 2025 pm 10:09 PM

vscode 內置終端是一個開發工具,允許在編輯器內運行命令和腳本,以簡化開發流程。如何使用 vscode 終端:通過快捷鍵 (Ctrl/Cmd ) 打開終端。輸入命令或運行腳本。使用熱鍵 (如 Ctrl L 清除終端)。更改工作目錄 (如 cd 命令)。高級功能包括調試模式、代碼片段自動補全和交互式命令歷史。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

vscode終端命令不能用 vscode終端命令不能用 Apr 15, 2025 pm 10:03 PM

VS Code 終端命令無法使用的原因及解決辦法:未安裝必要的工具(Windows:WSL;macOS:Xcode 命令行工具)路徑配置錯誤(添加可執行文件到 PATH 環境變量中)權限問題(以管理員身份運行 VS Code)防火牆或代理限制(檢查設置,解除限制)終端設置不正確(啟用使用外部終端)VS Code 安裝損壞(重新安裝或更新)終端配置不兼容(嘗試不同的終端類型或命令)特定環境變量缺失(設置必要的環境變量)

See all articles