磁盤管理

CHS cylinder-head-sector

cylinder柱面=track*head=512*63*256=8M 


磁盤分區

為什么是分區?

? 優化I/O 性能

? 實現磁盤空間配額限制

? 提高修復速度

? 隔離系統和程序

? 安裝多個OS

? 采用不同文件系統

 

MBR:使用32位表示扇區數量,按每扇區512字節計算,每個分區最大不能超過2TB

blob.png

 

(Globals Unique Identifiers Partition Table,縮寫:GPT)是一個實體硬盤的分區表的結構布局的標準。它是可擴展固件接口(EFI)標準,被用于替代BIOS系統中的一32bits來存儲邏輯塊地址和大小信息的主開機紀錄(MBR)分區表。GPT支持128個分區,使用128 位UUID 區 表示磁盤和分區 GPT分區表自動備份在頭和尾兩份,并有CRC 校驗位

EFI部分又可以分為4個區域:EFI信息區(GPT頭)、分區表、GPT分區、備份區域

 

管理分區

列出塊設備  lsblk

創建分區使用:

   fdisk創建MBR 分區,也支持GPT ,對于一塊硬盤,最多只能管理15分區

   gdisk創建GPT 分區

   GNU parted  高級分區操作(創建、復制、調整大小等等)

partprobe-重新設置內存中的內核分區表版本

 

centos7

fdisk -l -u=cylinders /dev/sda   //以柱面顯示

fdisk -l  /dev/sda                        //以扇區顯示

 

echo "- – -" > /sys/class/scsi_host/host2/scan   //不重啟,識別到新加硬盤

blob.png

 

hexdump -C -n 512 /dev/sda      //查看頭文件

blob.png(1)

 

dd if=/dev/sda of=/testdir/mbrbak bs=1 count=512    //備份頭文件

blob.png

 

hexdump -v -C /testdir/mbrbak     //顯示同(1)說明備份成功

 

dd if=/testdir/mbrbak of=/dev/sdb    //恢復分區表

fdisk -l /dev/sdb   //分區信息同/dev/sda

 

dd if=/dev/zero of=/dev/sdb bs=1 count=446    //破壞/dev/sdd前446個字節

hexdump -C -n 512 /dev/sdb     //檢查發現頭文件的前部分被0填充

 

dd if=/dev/zero of=/dev/sdb bs=1 count=2 skip=510 seek=510   //清掉最后的兩字節55A,標志位

fdisk -l /dev/sdb   無分區信息

 

fdisk /dev/sdb

 子命令:

    p  分區列表

    t   更改分區類型

    n  創建新分區

    d  刪除分區

    w 保存并退出

    q  不保存并推出

 

查看內核是否已經識別新的分區

blob.png

 

通知內核重新讀取硬盤分區表

   新增分區用

   partx -a -n M:N /dev/DEVICE

   kpartx -a /dev/DEVICE -f: force

   刪除分區用

   partx -d -n M:N /dev/DEVICE

   centos 6: –nr N-M     //specify the range of partitions

centos  5,7使用partprobe

partprobe [/dev/DEVICE]

 

parted 的操作都是實時生效的

用法:parted [ 選項]… [設備 [令 命令 [ 參數]…]…]

   parted /dev/sdb mklabel gpt|msdos

   parted /dev/sdb print

   parted /dev/sdb mkpart primary 1 200  (默認M)

   parted /dev/sdb rm 1

   parted -l

也可parted device 進入交互式界面操作

 

 

文件系統是操作系統用于明確存儲設備或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法操作系統負責管理和存儲文件信息的軟件結構稱為文件管理系統, 簡稱文件系統。

 

從系統角度來看,文件系統是對文件存儲設備的空間進行組 織和分配,負責文件存儲并對存入的文件進行保護和檢索的 系統。具體地說,它負責為用戶建立文件,存入、讀出、修 改、轉儲文件,控制文件的存取,安全控制,日志,壓縮, 加密等。

 

 

 

文件系統類型

Linux 文件系統: ext2(Extended file system), ext3/4, xfs(SGI公司), btrfs(Oracle), reiserfs, jfs(AIX ), swap

光盤:iso9660

Windows :fat32, ntfs

Unix: FFS (fast ), UFS (unix ), JFS2

網絡文件系統:NFS, CIFS

集群文件系統:GFS2, OCFS2 (oracle)

分布式文件系統:ceph, moosefs, mogilefs, glusterfs, Lustre

RAW: 未經處理或者未經格式化產生的文件系統

 

根據其是否支持"journal" 功能:

   日志型文件系統: ext3, ext4, xfs, …

   非日志型文件系統: ext2, vfat

文件系統的組成部分:

   內核中的模塊:ext4, xfs, vfat

   用戶空間的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat

Linux 的虛擬文件系統:VFS

查前支持的文件系統:cat /proc/filesystems

 

 

 

lsmod  //查看加載的模塊

lsmod|grep xfs

blob.png

 

 

VFS是一個可以讓open()、read()、write()等系統調用不用關心底層的存儲介質和文件系統類型就可以工作的粘合層

在Linux下,通過VFS,一個抽象的通用訪問接口屏蔽了底層文件系統和物理介質的差異性

blob.png

 

blob.png

 

 

Linux硬盤組織方式為:引導區、超級塊(superblock),索引結點(inode),數據塊(datablock),目錄塊(diredtory block).其中超級塊中包含了關于該硬盤或分區上的文件系統的整體信息,如文件系統的大小等;超級塊后面的數據結構是索引結點,它包含了針對某一個具體文件的幾乎全部信息,如文件的存取權限、所有者、大小、建立時間以及對應的目錄塊和數據塊等;數據塊是真正存儲文件內容的位置.但是索引結點中不包括文件的名字,文件名是放在目錄塊里的.目錄塊里包含有文件的名字以及此文件的索引結點編號.

 

blob.png

 

 

創建文件系統

mkfs.FS_TYPE   /dev/DEVICE

   ext4|xfs|btrfs|vfat

mkfs -t FS_TYPE  /dev/DEVICE

   -L 'LABEL' 設定卷標

 

mke2fs :ext 系列文件系統專用管理工具

   -t {ext2|ext3|ext4}

   -b {1024|2048|4096}

   -L 'LABEL'

   -j: 相當于 -t ext3   //journal 日志

   blob.png

    blob.png

mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3

   -i #:  為數據空間中每多少個字節創建一個inode ;此大 小不應該小于block 的大小

   -N # :為數據空間創建個多少個 個inode

   -I  一個inode 記錄大小128—4096

   -m #:  默認5%, 為管理人員預留空間占總空間的百分比

   blob.png

    mkfs.ext4 -m 1 /dev/sdb1     //調為1%

   -O FEATURE[,…] :啟用指定特性     

   -O ^FEATURE

   -f:強制轉為xfs文件系統

   blob.png

 

文件系統標簽

blkid :塊設備屬性信息查看

blob.png

blkid [OPTION]… [DEVICE]

-U UUID:  根據指定的UUID 來查找對應的設備

-L LABEL :根據指定的LABEL 來查找對應的設備

根據/etc/fstab中/boot目錄的UUID查找對應的設備

blkid -U `sed -nr "s/UUID=(.*) \/boot.*/\1/p"  /etc/fstab`

blkid -U `cat /etc/fstab |grep boot|cut -d' ' -f1|cut -c6-`

 

e2label :管理ext 系列文件系統的LABEL

e2label DEVICE [LABEL]

blob.png

 

findfs :查找分區

findfs [options] LABEL=<label>

findfs [options] UUID=<uuid>

blob.png

 

tune2fs :重新設定ext 系列文件系統可調整參數的值

   -l :查看指定文件系統超級塊信息;super block

   blob.png

   -L 'LABEL' :修改卷標

   -m # :修預留給管理員的空間百分比

   -j:  將ext2 升級為ext3

   -O:  文件系統屬性啟用或禁用, 

tune2fs -O ^has_journal /dev/sdb1  //取消日志

tune2fs -l /dev/sdb1 看不到has_journal ,blkid 看到/dev/sdb1 無TYPE="ext3")

   blob.png

   -o:  調整文件系統的默認掛載選項,–o ^acl

   -U UUID:  修改UUID號

 xfs系統用tune2fs -l查看無效

 vfat系統不區分大小寫,權限755,不受umask管制,不安全

 

dumpe2fs

     -h :查看超級塊信息(分組信息),分區用分組管理

dumpe2fs  /dev/sdb1

blob.png

 

 

 

文件系統檢測和修復:

常發生于死機或者非正常關機之后

掛載為文件系統標記為“dirty” ”

fsck: File System Check

   fsck.FS_TYPE

   fsck -t FS_TYPE

       -a:  自動修復錯誤

       -r:  交互式修復錯誤

注意: FS_TYPE 一定要與分區上已經文件類型相同

e2fsck :ext 系列文件專用的檢測修復工具

   -y:自動回答為yes

   -f :強制修復

 

 

 

mke2fs -t ext4 /dev/sdb3

dd if=/dev/zero of=/dev/sdb3 bs=1k count=10   //破壞超級塊

tune2fs -l /dev/sdb3  顯示bad magic number

e2fsck   /dev/sdb3    //修復得在非掛載情況下進行,否則容易造成破壞

 

fuser -km /mnt/sdb2   //kill,換成根自殺

 

 

掛載:將額外文件系統與根文件系統某現存的目錄建立關聯,進而使得此目錄做為其它文件訪問入口的行為

用mount命令掛載文件系統  mount DEVICE MOUNT_POINT

mount :通過查看/etc/mtab

mount [-fnrsvw] [-t vfstype] [-o options] device dir

    device :指明要掛載的設備;

    (1)設備文件

    (2)卷標:-L 'LABEL'

    (3)UUID, -U 'UUID'

    (4)偽文件系統名稱:proc, sysfs, devtmpfs, configfs

    dir :掛載點

    事先存在;建議使用空目錄

    進程正在使用中的設備無法被卸載

 

常用選項:

-t vsftype :指定要掛載的設備上的文件系統類型

-r: readonly ,只讀掛載

-w: read and write,  讀寫掛載

-n:  不更新/etc/mtab ,相當于#mount

-a:自動掛載所有支持自動掛載的設備( 定義在了/etc/fstab 文件中,且掛載選項中有auto功能)

-B, –bind: 綁定目錄到另一個目錄上

mount -B /boot/ /mnt/boot   //兩個目錄都看到一致的內容,因為是同樣的文件

blob.png

 

 -o options :( 掛載文件系統的選項) ,多個選項使用逗號分隔

   async :異步模式

   sync :同步模式, 內存更改時,同時寫磁盤

mount -o sync /dev/sdb1 /mnt/sdb1

blob.png

   atime/noatime :包含目錄和文件

   diratime/nodiratime :目錄的訪問時間戳

   auto/noauto :是否支持自動掛載, 是否支持-a 選項

   exec/noexec :是否支持將文件系統上運行應用程序

   dev/nodev :是否支持在此文件系統上使用設備文件

   suid/nosuid :是否支持suid 和sgid 權限

   remount :重新掛載

   mount -o,remount,noexec /mnt/sdb1

   blob.png

   ro :只讀

   rw:讀寫

   user/nouser :是否允許普通用戶掛載此設備,默認管理員才能掛載

   acl :啟用此文件系統上的acl 功能

Defaults :相當于rw, suid, dev, exec, auto, nouser, async

 

mknod cdrom b 11 0   ////生成cdrom這個設備

blob.png

mount  ./cdrom /mnt/boot

cd  /mnt/boot 可以訪問光盤內容

 

 

 

centos7

yum  install autofs

systemctl start autofs

根目錄下出現misc目錄

cd /misc

cd cd     //掛載光盤

 

 

 

 

 

原創文章,作者:victorycommander,如若轉載,請注明出處:http://www.www58058.com/41587

(0)
victorycommandervictorycommander
上一篇 2016-08-28
下一篇 2016-08-29

相關推薦

  • 走向了一條不歸路 – – 開始

    前言:很高興在這里認識大家,跟大家一起學習一起進步。  基礎知識 1.計算機系統的組成 2.計算機的體系結構 3.存儲網絡 DAS–直接連接存儲   (數據塊)   存儲設備與主機的緊密相連       1.管理成本較低,實施簡單   &…

    2017-07-16
  • 學習宣言

    我是喻成,我參加了馬幫第22期的linux運維網絡班,于2016年8月開始跟隨馬哥學習linux, 我的學習宣言是:要享受學習的每一刻,我思故我在。

    Linux干貨 2016-08-15
  • if、case 語法

    1. 條件選擇 if 語句         選擇執行:             ? 單分支      &nbs…

    Linux干貨 2016-08-22
  • 正則表達式

    正則表達式是一種以一些字符賦予特殊意義之后,用來表達字符串,用以篩選各種形式的字符串用來進行查找、替換、刪除等各種文本編輯作用的一種表示方式。 正則表達式的特殊字符 字符表示 .   可以表示任意可打印字符 [] 中括號范圍內任意單個字符 [^] 中括號范圍外任意單個字符 (相對所有可打印字符) [:space:] 表示任意單個空白字符 [:dig…

    2017-08-03
  • 文件的權限和訪問控制列表

      在linux管理中,為了使不同的用戶對文件有不同的操作權限。我們需要正確的修改文件的權限,一方面是為安全著想, 另一方面則是防止自己辛辛苦苦碼出的東西被其它用戶給誤刪。 1.如何修改文件的屬主和屬主:   前面用戶和組管理的內容中,我們已經對文件的屬主、屬組問題做了說明。有時候我們需要對一些文件的屬組和屬組進行修改…

    Linux干貨 2016-08-04
  • Linux基礎命令 -管道密切配合使用 tee

    基礎命令和管道密切配合使用  tee     基礎命令:tee   tee命令 功能: 把命令1的STDOUT保存在文件名中,然后管道輸入給命令2; 補充說明:tee指令會從標準輸入設備讀取數據,將其內容輸出到標準輸出設備,同時保存成文件。 使用場景: 1.保存不同階段的輸出 2.復雜管道的故障排除 3.同時查看和記錄…

    Linux干貨 2016-08-03
欧美性久久久久