中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解Linux的磁盤和文件系統管理

發布時間:2021-09-27 15:05:59 來源:億速云 閱讀:98 作者:iii 欄目:系統運維

這篇文章主要介紹“如何理解Linux的磁盤和文件系統管理”,在日常操作中,相信很多人在如何理解Linux的磁盤和文件系統管理問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何理解Linux的磁盤和文件系統管理”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

管理磁盤和文件系統

介紹了基本的文件和目錄管理之后,接下來就是磁盤和文件系統的管理。如何分區磁盤和創建文件系統呢?

添加磁盤并進行分區、創建并掛載文件系統

1、確認系統中的磁盤命令——fdisk

fdisk  -l  [磁盤設備]

代碼如下:

[root@localhost ~]# fdisk -l  ==>查看目前系統內的所有分區 (這里顯示的結果與在交互模式下P命令是相同的,后面講)</p> <p>Disk /dev/hda: 21.4 GB, 21474836480 bytes   ==>磁盤的文件名與容量
heads, 63 sectors/track, 2610 cylinders  ==>磁頭、扇區與柱面大小
Units = cylinders of 16065 * 512 = 8225280 bytes   ==>每個柱面的大小</p> <p>   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        1288    10241437+  83  Linux
/dev/hda3            1289        1925     5116702+  83  Linux
/dev/hda4            1926        2610     5502262+   5  Extended
/dev/hda5            1926        1989      514048+  82  Linux swap / Solaris

上述各字段的含義:

Device:分區的設備文件名稱    Boot:是否是引導分區,即開機區,若是,則用“*”標識

Start :開始柱面,即該分區在硬盤中的起始位置    End :結束柱面,即該分區在硬盤中的結束位置

Blocks:分區的大小,以Blocks(塊)為單位,默認的塊大小為1024字節,即1KB

Id:分區類型的ID標記號,對于EXT3分區為83,LVM分區為8e      System:分區類型,即磁盤分區內的系統

2、規劃硬盤中的分區&mdash;&mdash;fdisk

fdisk [磁盤設備]

使用此命令可進入交互操縱,您可以在下面的交互操縱里面胡作非為,但是切記離開時必須按q命令,不能按w

代碼如下:

#找出系統中所在根目錄所在磁盤,并查閱該硬盤內的相關信息
[root@localhost ~]# df /   <==重點找出磁盤文件名而已
文件系統               1K-塊        已用     可用 已用% 掛載點
/dev/hda2              9920624   2968604   6439952  32% /
[root@localhost ~]# fdisk /dev/hda  ==>進入交互操縱模式,注意這里不要寫具體的數字</p> <p>The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
  (e.g., DOS FDISK, OS/2 FDISK)</p> <p>Command (m for help): m   <==等待輸入,m是命令菜單
Command action
  a   toggle a bootable flag
  b   edit bsd disklabel
  c   toggle the dos compatibility flag
  d   delete a partition   ==>刪除一個分區
  l   list known partition types  ==>創建邏輯分區
  m   print this menu
  n   add a new partition  ==>增加一個分區
  o   create a new empty DOS partition table
  p   print the partition table   ==>在屏幕上顯示分區表
  q   quit without saving changes   ==>不存儲,直接離開fdisk程序
  s   create a new empty Sun disklabel
  t   change a partition's system id  變更分區類型
  u   change display/entry units
  v   verify the partition table
  w   write table to disk and exit   ==>將剛才的操作寫入分區表,慎重操作
  x   extra functionality (experts only)

常見操作有:創建主分區、創建擴展分區(將硬盤的所有剩余空間作為擴展分區)、創建邏輯分區、改變分區的系統代碼、保存分區表信息、用partprobe探測硬盤分區變化

下面舉出幾例做測試,離開時不保存:

代碼如下:

Command (m for help): p  ==>查看磁盤分區表,和終端命令模式下的fdisk -l 作用相同</p> <p>Disk /dev/hda: 21.4 GB, 21474836480 bytes
heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes</p> <p>   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        1288    10241437+  83  Linux
/dev/hda3            1289        1925     5116702+  83  Linux
/dev/hda4            1926        2610     5502262+   5  Extended
/dev/hda5            1926        1989      514048+  82  Linux swap / Solaris</p> <p>Command (m for help): d  
Partition number (1-5): 4   ==>刪除第4個分區</p> <p>Command (m for help): d    ==>刪除第3個分區
Partition number (1-4): 3</p> <p>Command (m for help): p  ==>再次顯示時觀察下面只顯示了前兩個分區,第5個沒顯示</p> <p>Disk /dev/hda: 21.4 GB, 21474836480 bytes
heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes</p> <p>   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        1288    10241437+  83  Linux</p> <p>Command (m for help): n  ==>創建一個分區
Command action
  e   extended
  p   primary partition (1-4)
p  ==>選擇創建的分區類型為主分區
Partition number (1-4): 4 ==>選擇4號做主分區
First cylinder (1289-2610, default 1289):
Using default value 1289   ==>起始柱面若直接按enter鍵就是使用默認值
Last cylinder or +size or +sizeM or +sizeK (1289-2610, default 2610): +512M</p> <p>Command (m for help): p  ==>再次查看分區表,發現多了一個剛從建立的分區4</p> <p>Disk /dev/hda: 21.4 GB, 21474836480 bytes
heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes</p> <p>   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        1288    10241437+  83  Linux
/dev/hda4            1289        1351      506047+  83  Linux</p> <p>Command (m for help): n  ==>再建一個分區
Command action
  e   extended
  p   primary partition (1-4)
e   ==>建立擴展分區
Selected partition 3  ==>這個是系統主動選擇的分區
First cylinder (1352-2610, default 1352):
Using default value 1352
Last cylinder or +size or +sizeM or +sizeK (1352-2610, default 2610):
Using default value 2610</p> <p>Command (m for help): p</p> <p>Disk /dev/hda: 21.4 GB, 21474836480 bytes
heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes</p> <p>   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        1288    10241437+  83  Linux
/dev/hda3            1352        2610    10112917+   5  Extended  ==>看,剛新建的擴展分區
/dev/hda4            1289        1351      506047+  83  Linux</p> <p>Partition table entries are not in disk order</p> <p>Command (m for help): n  ==>再多建幾個分區玩玩,反正后面不保存就行了,,呵呵
First cylinder (1352-2610, default 1352):
Using default value 1352
Last cylinder or +size or +sizeM or +sizeK (1352-2610, default 2610): +2084
Value out of range.
Last cylinder or +size or +sizeM or +sizeK (1352-2610, default 2610): +2084M</p> <p>Command (m for help): n   ==>有沒有發現,最后建立2個分區的時候根本沒有詢問我們要建立是主分區還是擴展分區,為啥?因為分區已經超過4了,您別無選擇,只能是擴展分區了。。。
First cylinder (1606-2610, default 1606):
Using default value 1606
Last cylinder or +size or +sizeM or +sizeK (1606-2610, default 2610):
Using default value 2610</p> <p>Command (m for help): p</p> <p>Disk /dev/hda: 21.4 GB, 21474836480 bytes
heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes</p> <p>   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        1288    10241437+  83  Linux
/dev/hda3            1352        2610    10112917+   5  Extended
/dev/hda4            1289        1351      506047+  83  Linux
/dev/hda5            1352        1605     2040223+  83  Linux  ==>這是后面又新建的2個分區
/dev/hda6            1606        2610     8072631   83  Linux</p> <p>Partition table entries are not in disk order</p> <p>Command (m for help): q  ==>這里一定要按q啊,因為我剛才僅僅是演示操作,還破壞性的刪除了2個分區,你要是真要分區,那就要按w保存了。</p> <p>[root@localhost ~]#

磁盤分好區后,要更新下內核,否則您使用fdisk -l 可能看不到分區后的變化,只有重啟才可以。但是使用partprobe強制讓內核重新找一次分區表就行了。

代碼如下:

[root@localhost ~]# partprobe [/dev/hda ]   <==強制讓內核重新找一次分區表,則可以立刻看出分區的變化

 注意:普通用戶沒有權限進行硬盤分區,只有root用戶可以,但最好是在單用戶模式下比較安全,此外,在進行分區的時候,若該硬盤某個分區正在使用當中,則很有可能系統內核會無法加載硬盤的分區表,解決的方法就是將該使用中的分區給卸載,然后再重新分區一次,重新寫入分區表。

3、在分區中創建文件系統&mdash;&mdash;mkfs,mkswap

(1)、mkfs

用途:make filesystem,創建文件系統,即格式化

格式:mkfs  -t  文件系統類型   分區設備  (-t選項表示可以接受的文件系統格式,如ext3,ext2,vfat等,通常情況下不需要加次選項,因為系統可自動判斷使用的是什么文件系統)

如何理解Linux的磁盤和文件系統管理

上述由于設備/dev/hda3已經掛載了,所我無法再掛載,但可以卸載后再掛載,不做演示。

(2)、mkswap

用途:make swap ,創建文件系統交換系統

格式:mkswap   分區設備

1)在Linux系統中,SWAP分區的作用類似于Windows系統中“虛擬內存”,可以在一定程度上緩解物理內存不足的情況
2)如果系統沒有SWAP交換分區,或者現有交換分區的容量不夠用,可以通過mkswap命令創建交換文件系統以增加虛擬內存
3)交換分區空間的啟用、停用需要使用swapon、swapoff命令,free命令可以查看物理內存、交換空間的使用情況
4)“swapon -s”命令也可查看交換分區的使用情況

代碼如下:

[root@localhost ~]# mkswap /dev/hda5   ==>格式化交換分區
Setting up swapspace version 1, size = 526381 kB
[root@localhost ~]# swapon /dev/hda5  ==>啟用交換分區
[root@localhost ~]# free | grep -i swap   ==>查看交換空間
Swap:       514040          0     514040
[root@localhost ~]# swapoff /dev/hda5  ==>停用交換空間
[root@localhost ~]#  free | grep -i swap
Swap:            0          0          0
[root@localhost ~]#

將新硬盤分好區以后,還需要對分區進行格式化(即創建文件系統),并掛載到Linux系統中的指定目錄下,然后才能用于存儲文件、目錄等數據。并且掛載點一定是目錄,該目錄為進入文件系統的入口。因此,并不是您有任何文件都能使用,必須要掛載到某個目錄樹的某個目錄后,才能使用文件系統。

4、掛載、卸載文件系統&mdash;&mdash;mount,umount

(1)mount

  用途:掛載文件系統、ISO鏡像到指定文件夾

  格式:  mount  [ -t 類型 ]  存儲設備  掛載點目錄 (”-t 類型“的選項通常可以省略,大多數Linux系統能夠自動識別對應的文件系統類型)

                mount  -o loop  ISO鏡像文件  掛載點目錄

(2)umount

    用途:卸載已掛載的文件系統
   格式:   umount  存儲設備位置
              umount  掛載點目錄

(3)查看已掛載分區的使用情況(df -hT) 

代碼如下:

[root@localhost ~]# df -hT   ==>查看現有已掛在分區使用情況
文件系統      類型    容量  已用 可用 已用% 掛載點
/dev/hda2     ext3    9.5G  2.9G  6.2G  32% /
/dev/hda3     ext3    4.8G  195M  4.3G   5% /home
/dev/hda1     ext3     99M   11M   83M  12% /boot
tmpfs        tmpfs    506M     0  506M   0% /dev/shm
[root@localhost ~]# mount /dev/hda3 /home/jzhou  ==>將設備/dev/hda3掛載到目錄/home/jzhou下
[root@localhost ~]# df -hT   ==>再次查看掛載情況
文件系統      類型    容量  已用 可用 已用% 掛載點
/dev/hda2     ext3    9.5G  2.9G  6.2G  32% /
/dev/hda3     ext3    4.8G  195M  4.3G   5% /home
/dev/hda1     ext3     99M   11M   83M  12% /boot
tmpfs        tmpfs    506M     0  506M   0% /dev/shm
/dev/hda3     ext3    4.8G  195M  4.3G   5% /home/jzhou   ==>看,這里多了一個掛載點
[root@localhost ~]# umount /dev/hda3  ==>卸載剛才的掛載
[root@localhost ~]# df -hT    ==>再次查看沒有了,已成功卸載
文件系統      類型    容量  已用 可用 已用% 掛載點
/dev/hda2     ext3    9.5G  2.9G  6.2G  32% /
/dev/hda3     ext3    4.8G  195M  4.3G   5% /home
/dev/hda1     ext3     99M   11M   83M  12% /boot
tmpfs        tmpfs    506M     0  506M   0% /dev/shm
[root@localhost ~]#

另外光驅和鏡像的掛載只是略有不同,語法其實是一樣的,光盤設備一般是/dev/cdrom或者/dev/hdc,鏡像嘛,很明顯是iso格式的壓縮包,掛載鏡像時要加 -o loop選項,具體用法網上很多。

5、設置文件系統自動掛載&mdash;&mdash;修改配置文件

系統中的“/etc/fstab”文件可以視為mount命令的配置文件,它包含了需要開機后自動掛載的文件系統目錄。

如何理解Linux的磁盤和文件系統管理

查看一下這個文件的內容如上,其中各個字段的含義如下(前三個字段很重要):

第一個字段:設備位置

第二個字段:掛載點目錄

第三個字段:文件系統類型

第四個字段:掛載參數,即mount命令“-o”選項后面可使用的參數

第五個字段:表示文件系統是否需要dump備份(dump是一個備份工具),一般設為1時表示需要,設為0時將被dump所忽略

第六字段:該數字用于決定在系統啟動時進行磁盤檢查的順序,0不進行檢查,1優先,2其次。對于根分區應設為1,其它分區設為2

設置自動掛載示例:即每次重新開機后,能自動完成掛載。

進入vim 編輯內容,將設備proc的掛載點由/proc改為/home/jzhou,并保存退出:

如何理解Linux的磁盤和文件系統管理

則再次啟動時,會自動掛載到相應目錄,上述是演示,之后我又改回來了。

說明:

(1)在/etc/fstab文件中正確設置了相應分區的自動掛載記錄以后,手動掛載、卸載該分區時,僅需指定設備名、掛載點中的任意一個作為參數即可,例如,執行“mount /dev/sdb1”或者“umount /mailbox”都可以完成卸載
(2)mount命令不帶任何選項、參數時,可以顯示當前系統中已經掛載的文件系統信息 

 LVM簡單介紹

Logical Volume Manager,邏輯卷管理
屏蔽了底層磁盤布局,便于動態調整磁盤容量
(需要注意:p /boot分區用于存放引導文件,不能應用LVM機制) 
1、LVM機制的基本概念 
(1)PV(Physical Volume,物理卷)
 整個硬盤,或使用fdisk等工具建立的普通分區
 包括許多默認4MB大小的PE(Physical Extent,基本單元)
(2)VG(Volume Group,卷組)
一個或多個物理卷組合而成的整體
(3)LV(Logical Volume,邏輯卷)
從卷組中分割出的一塊空間,用于建立文件系統
它們的邏輯關系如下:

如何理解Linux的磁盤和文件系統管理

我想您已經知道了為什么要存在這個LVM機制了,同大多數虛擬化的東西作用相似,最核心的還是PV,即真實的物理卷,將,多個物理卷組成一個卷組,之后是對這些卷組劃分卷,這時與PV完全無關了,這能很好的利用容量和空間,而且當有新的物理卷加入時,只需將其加入邏輯卷就行了。這個機制很像網絡里面劃分VLAN呢。
 
LVM的管理命令主要有以下:

功能

物理卷管理

卷組管理

邏輯卷管理

Scan       掃描

pvscan

vgscan

lvscan

Create    建立

pvcreate

vgcreate

lvcreate

Display   顯示

pvdisplay

vgdisplay

lvdisplay

Remove  刪除

pvremove

vgremove

lvremove

Extend   擴展

 

vgextend

lvextend

主要命令的用法:

pvcreate  設備名
vgcreate  卷組名  物理卷名1 物理卷名2
lvcreate   -L  大小  -n  邏輯卷名  卷組名
lvextend  -L  +大小  /dev/卷組名/邏輯卷名
創建邏輯卷的基本步驟:PV->VG->LV->格式化->掛載使用文件系統
具體步驟:(我的虛擬機不能演示,bash中沒有這個pvcreate命令,簡單作下理論說明)

(1)、轉換物理卷

1)使用fdisk命令規劃兩個分區   fdisk -l /dev/hda /dev/hdb | grep "LVM"
2)使用pvcreate命令轉換上述分區為物理卷

代碼如下:

    pvcreate /dev/hda1      pvcreate /dev/hdb1

(2)、創建卷組

代碼如下:

vgcreate vg_test /hda1 /dev/hdb1

(3)、創建邏輯卷

1)使用lvcreate命令創建邏輯卷lv_test,從卷組vg_test上劃出10G空間

代碼如下:

     lvcreate  -L  10G  -n  lv_test  vg_test

2)使用mkfs命令創建ext3文件系統

代碼如下:

     mkfs  -t  ext3  /dev/vg_test/lv_test 

(4)、格式化為ext3文件系統,并掛載到目錄/dirtest

代碼如下:

mount   /dev/vg_test/lv_test   /dirtest

(5)、還可以為邏輯卷擴容

1)使用lvextend命令為邏輯卷lv_test擴充容量,從卷組vg_test上再劃出10G給邏輯卷lv_test

代碼如下:

lvextend  -L  +10G  /dev/vg_test/lv_test

2)使用resize2fs命令更新系統識別的文件系統大小

代碼如下:

resize2fs  /dev/vg_test/lv_test

到此,關于“如何理解Linux的磁盤和文件系統管理”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

廊坊市| 桂东县| 建平县| 兴宁市| 申扎县| 台中县| 洛隆县| 特克斯县| 托里县| 隆化县| 玛沁县| 洞口县| 武义县| 岐山县| 东平县| 三江| 德清县| 台湾省| 高淳县| 富源县| 奉新县| 乡城县| 青海省| 南康市| 三门峡市| 彩票| 海兴县| 朔州市| 密山市| 望奎县| 邢台县| 迁西县| 潞城市| 浮山县| 库车县| 汉中市| 茶陵县| 濮阳市| 秦皇岛市| 凯里市| 大名县|