linux磁盤管理20105082502


什麼是硬盤:

            wKioL1XcRJqB1c8-AACyeRE8VkA800.jpg

wKiom1XcakPAfKsPAAFdmtIiJVs910.jpg

        硬盤是由一個密封的真空盒子。真空盒子內有“盤片”、“機械臂”“磁頭”“馬達”組成。---->如圖所示


        磁頭是在機械臂末梢位置,懸浮在盤面上方几微米處。硬盤式通過磁頭接觸在高速旋轉的盤面上進行讀寫數據。磁頭的默認位置在盤面的最邊緣部位。

        現如今的硬盤幾乎都是雙面的,即,單盤片的硬盤有2個磁頭,雙盤片的硬盤有4個磁頭。並且機械臂的分支都是固定的,同一時刻位於不同盤面的磁頭

    處於同一垂直位置。


常見的硬盤接口及接口速率:

並行接口

IDE接口    理論接口速率133MB/s

SCSI接口    理論接口速率640MB/s

串行接口

SATA接口    理論接口速率6Gbps/s

SAS接口    理論接口速率6Gbps/s

USB接口    理論接口速率480MB/s



磁盤管理的相關術語:

        磁頭在高速旋轉的盤面所畫出的n個同心圓被稱爲:磁道    (track)

        不同盤面上相同大小的同心圓組成:柱面    (Cylinder)

        由圓心出發的直線將磁道切割成n段弧線,每一段稱爲一個:扇區 (Sector) ---------磁盤的第一個磁道的第一個扇區爲MBR(Master Boot Record),大小爲512Byte

 MBR的前446Bytes爲boot loader,接下來的64Bytes爲磁盤分區列表信息,每個分區佔16Byte。剩下的2Bytes爲MBR有效標識位


硬盤在/dev目錄下的文件名:

/dev/sda ~ /dev/sdz  由 /dev/sd開頭,[a-z]表示硬盤的序號,a表示第一塊硬盤

/dev/sda1 表示第一塊磁盤的第一個分區,以此類推。

    因爲每個分區信息佔用16Bytes,MBR中分區信息總共佔有16Bytes,所以每個硬盤最多可劃分4個主分區,若想劃分更多的分區,必須有一個條目信息指定當前硬盤中的其他位置存貯分區信息,這個條目便是擴展分區條目。

    因此可將硬盤劃分爲3個主分區一個擴展分區,在擴展分區中可劃分n個邏輯分區。沒快硬盤中只能存在一個擴展分區。

    所以,分區編號中,1-4爲主分區和擴展分區。5以上的數字表示邏輯分區。

注意:centos5以及以前版本,並行接口的硬盤設備在/dev/下的文件名爲/dev/hd開頭,在CentOS6以及以後的版本都爲/dev/sd開頭。


             


什麼是文件系統:

        要實現在一個龐大的存儲空間中快速定位數據的位置,那麼需要有一種將磁盤劃分n個小單元,並且將n個小單元分成元數據區和數據區的機制。元數據區域存放數據的名稱,存放位置等信息。而實現這種機制的軟件便是文件系統。




查看當前系統所支持的文件系統:(CentOS-7)

[root@localhost ~]# cat /proc/filesystems  ##proc/filesystems:系統已經加載的文件系統類型
nodev	sysfs
nodev	rootfs
nodev	bdev
nodev	proc
nodev	cgroup
nodev	cpuset
nodev	tmpfs
nodev	devtmpfs
nodev	debugfs
nodev	securityfs
nodev	sockfs
nodev	pipefs
nodev	anon_inodefs
nodev	configfs
nodev	devpts
nodev	ramfs
nodev	hugetlbfs
nodev	autofs
nodev	pstore
nodev	mqueue
nodev	selinuxfs
	xfs
	btrfs
[root@localhost ~]#


Linux系統所支持的文件系統格式衆多。常見的文件系統格式有:    ext2, ext3, ext4, xfs, btrfs,swap

CentOS7相對CentOS6新增了btrfs格式的文件系統,其優點是其容量的可擴展性。這也是CentOS7逐漸拋棄了LVM的原因。


分區格式化工具: (fdisk  )

[root@localhost ~]# fdisk -l   ##顯示當前系統所有磁盤的所有分區

Disk /dev/sda: 236.2 GB, 236223201280 bytes, 461373440 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
Disk label type: dos
Disk identifier: 0x000977ad

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648    10897407     5242880   83  Linux
/dev/sda3        10897408    21383167     5242880   83  Linux
/dev/sda4        21383168   461373439   219995136    5  Extended
/dev/sda5        21385216    25579519     2097152   82  Linux swap / Solaris
/dev/sda6        25581568    36067327     5242880   83  Linux
/dev/sda7        36069376    38166527     1048576   83  Linux



[root@localhost ~]# fdisk /dev/sda    ##管理第一塊磁盤
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help):       ##可在此處輸入命令

    此命令爲一個交互式命令行,命令常用選項有:

  m    或 help 表示獲取幫助信息

  n     創建新分區

  d     刪除分區

  l      列出支持的分區類型

  p     顯示當前磁盤上的分區

  t      修改分區類型,使用分區編號

  w     保存退出

           q      不做更改退出交互會話

例如,當前我的磁盤有1個磁盤,sda上面有7個分區,新建分區具體步驟如下:

[root@localhost ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n     
All primary partitions are in use
Adding logical partition 8
First sector (38168576-461373439, default 38168576): ##指定分區的起始位置,默認就行
Using default value 38168576
Last sector, +sectors or +size{K,M,G} (38168576-461373439, default 461373439): +1G    ##指定分區的結束位置,可以是扇區編號,“+1G” 代表明確指定劃分1G空間給當前分區
Partition 8 of type Linux and of size 1 GiB is set

Command (m for help): w    ##保存當前修改並退出交互會話


至此新分區已創建成功,但內核至此還未能識別出新分區,需要使用命令:

[root@localhost ~]# partx -a /dev/sda    ##無需關注命令報錯,此命令需要重複執行兩次
或
[root@localhost ~]# kpartx -a /dev/sda    ##無需關注命令報錯,此命令需要重複執行兩次CentOS 5: 使用
[root@localhost ~]# partprobe /dev/sda

[root@localhost ~]# cat /proc/partitions   ##查看當前系統所識別出的分區
major minor  #blocks  name

   8        0  230686720 sda
   8        1     204800 sda1
   8        2    5242880 sda2
   8        3    5242880 sda3
   8        4          1 sda4
   8        5    2097152 sda5
   8        6    5242880 sda6
   8        7    1048576 sda7
   8        8    1048576 sda8


至此新分區已創建成功,下一步則是對新分區進行格式化:創建文件系統 (mkfs)

mkfs的常用選項:

-t <Type> 指明文件系統類型:ext2  ext3  ext4  ..

-L ’Label Name‘  爲該文件系統創建卷標,方便以後的調用

 mkfs [options] [-t <type>] [fs-options] <device> [<size>]  ## 命令格式
[root@localhost ~]# mkfs -t ext3 /dev/sda8     ##創建ext3格式的文件系統
 mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done  ##創建成功
[root@localhost ~]# blkid /dev/sda8    ##blkid查看文件系統信息
/dev/sda8: UUID="ecdac9ea-f9d5-4950-aee3-122e8845eb48" TYPE="ext2"


至此,新分區創建以及格式化已完成。若需訪問該文件系統,需將該分區掛在至根目錄下的某個節點進行訪問。


磁盤管理的常用命令彙總:


我們可以在命令行模式下輸入mkfs雙擊tab鍵,如下:

[root@localhost ~]# mkfs
mkfs         mkfs.btrfs   mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.ext4    mkfs.minix   mkfs.xfs
[root@localhost ~]# mkfs


諸如mkfs.ext3,實際上,我們使用mkfs -t ext3 DEVICE的時候就相當於調用了mkfs.ext3這條命令,因此,此處顯示的各條命令的用法和mkfs一樣。

tune2fs  重新設定“ext系列”文件系統的可調整參數
    -l查看指定文件系統的超級快信息
    -L修改卷標
    -m修改預留給管理的百分比
    -j將ext2升級爲ext3
    -O文件系統屬性的啓用或禁用(^)
    -o調整文件系統的默認掛載選項
    -U UUID  修改UUID
    
 例如:
 [root@localhost ~]# mkfs.ext2 /dev/sda8  ##將當前分區格式化爲ext2格式
 [root@localhost ~]# blkid /dev/sda8    ##顯示當前分區信息爲ext2格式
/dev/sda8: UUID="230890b5-7c14-44c0-a675-4f4c4225a1d1" TYPE="ext2"

[root@localhost ~]# tune2fs -j -L 'My Data' -m 3 /dev/sda8  ##
tune2fs 1.42.9 (28-Dec-2013)
Setting reserved blocks percentage to 3% (7864 blocks)
Creating journal inode: done

[root@localhost ~]# blkid /dev/sda8  ##由以下信息可見,修改的屬性已生效,類型改爲ext3,新增了卷標“My Data”
/dev/sda8: LABEL="My Data" UUID="230890b5-7c14-44c0-a675-4f4c4225a1d1" SEC_TYPE="ext2" TYPE="ext3"





文件系統修復命令:


fsck    ,常用選項:

-a自動修復錯誤

-r交互式修復錯誤

        e2fs    ext系列文件系統專用的檢測修復工具

-y自動回答爲yes

-f強制修復

注意::-t 指定的文件系統類型必須與分區上已有的文件類型相同

例如:

[root@localhost ~]# fsck -t ext3 -a /dev/sda8 ## 若需要強制修復則使用-f選項
fsck from util-linux 2.23.2
My_Data: clean, 11/65536 files, 12644/262144 blocks





待續~~~~~~~

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章