15磁盤管理

在系統中,常見的硬盤接口有分兩類:并行的和串行的

并行:

IDE: 133MB/s

SCSI: 640MB/s

串行:

SATA: 6Gbps

SAS: 6Gbps

USB: 480MB/s

存儲設備的設備文件命名方式大致為:/dev/DEV_FILE

IDE: /dev/hd#  #–>0,1,2,3

SCSI,SATA,SAS,USB: /dev/sdx  x表示a-z eg:/dev/sda,/dev/sdb

光盤中顯示的是 /dev/sr0,/dev/sr1…

同一設備上的不同分區:1,2,3… eg:/dev/sda1,/dev/sda2…

想要使用一塊沒有用過的磁盤,需要做一下幾部:

1、設備識別,即首先要講磁盤接入設備中,在系統中能夠看到設備(/dev/DEV_FILE)

2、設備分區,全新的磁盤是沒有分區的

3、創建文件系統,主要明確在設備上存儲的數據是什么格式的.(ext3,ext4,NTFS…)

4、標記文件系統

5、在/etc/fstab文件中創建條目

6、掛在新的文件系統

磁盤分區:

磁盤分區的理由

1、優化i/o性能

2、實現磁盤空間配額限制

3、提高修復速度

4、隔離系統和程序

5、安裝多個OS

6、采用不同文件系統

兩種分區方式:MBR,GPT

MBR: master boot record ,使用32位表示山區數,分區不超過2T,按柱面分區

在0磁道0扇區的512bytes中,前446bytes:BootLoader,64bytes:分區表(其中16byte表示一個分區,因此主分區+擴展分區<=4)最后2byte:55AA

GPT:GUID(global unique identifiers) partition table 支持128個分區,使用64位,支持8Z(512byte/block) 64Z(4096byte/block)

使用128位UUID(universally unique identifier )表示磁盤和分區,GPT分區表自動備份在頭和尾兩份,并有CRC校驗位

管理分區:

列出塊設備:lsblk

創建分區:fdisk(MBR),gdisk(GPT),parted 高級分區操作(創建,復制,調整大小等)

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

fdisk gdisk命令類似,下面主要介紹fdisk的使用

fdisk [options] <disk>     change partition table

fdisk [options] -l <disk> list partition table(s)

交互式fdisk命令其實更適合使用,分區之后可查看,可修改,只有在保存的時候才會真正的自該磁盤的分區。

子命令:

p 分區列表

t 更改分區類型

n 創建分區 

d 刪除分區

w 保存并退出

q 不保存退出

m 查看幫助,打印菜單選擇項

在修改分區完成之后,可查看內核是否已經識別新的分區 cat /proc/partations

如果內核沒有識別到新的分區,可通過命令是內核重新讀取硬盤分區表

在 centos 6 上 partx -a -n M:N /dev/DEVICE  或者 kpartx -a /dev/DEVICE 

刪除分區:partx -d -n M:N /dev/DEVICE

在centos 5,7上面直接使用partprobe 就可以了  partprobe [/dev/DEVICE]

文件系統:

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

創建文件系統

mkfs.fs_type /dev/DEVICE

fs_type: ext# xfs btrfs vfat…

mkfs -t fs_type /dev/DEVICE

創建ext文件系統

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

-t ext#

-b {1024|2048|4096}

-L 'lable'

-j: 加日志記錄 相當于-t ext3

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

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

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

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

文件系統標簽:

blkid [options]…[device]塊設備屬性信息查看

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

-L LABLE:根據指定的lable來查找

e2lable:管理ext系列文件系統的lable eg e2labl device [lable]

findfs:查找分區

findfs [options] LABLE=<lable>

findfs [options] UUID=<uuid>

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

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

-L 'LABLE' 修改卷標

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

-j 將ext2升級為ext3

-U UUID修改

dumpe2fs -h  查看你超級塊信息,不顯示分組信息

文件系統檢測和修復

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

掛在為文件系統標記為 No clean

注意:不要在掛載狀態下修復

修復命令工具:

fsck:file system check

fsck.fs_type

fsck -t fs_type

-a :自動修復錯誤

-f :交互式修復錯誤

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

-y:自動回答yes

-f:強制修復

掛載mount

掛載mount:將額外文件系統與根文件系統某現存的目錄建立起關聯關系,從而使得此目錄作為其他文件訪問入口的行為.

卸載unmount:接觸掛載關系,進程正在使用中的設備無法被卸載

掛載點目錄一般為空,如果有文件,則掛載后原文件在掛載完成后倍臨時隱藏

通過查看/etc/mtab 文件顯示當前已掛載的所有設備

mount [-fnrsvw] [-t vfstype] device mount_point

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

-r: readonly,只讀掛載

-w:read and write,讀寫掛載

-n:不更新/etc/mtab

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

-L 'LABLE'

-U 'UUID'

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

cat /proc/mounts 查看內核追蹤到的已掛載的所有設備

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

async:異步模式

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

atime/noatime:包含目錄和文件

diratime/nodiratime:目錄訪問時間戳

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

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

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

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

remount 重新掛載

ro:只讀 rw:讀寫

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

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

default:相當于rw,nosuid,dev,exec,auto,nouser,async

findmnt mount_point 查看掛載情況

查看正在訪問指定文件系統的進程:

lsof mount_point

fuser -v mount_point

終止所有正在訪問指定的文件系統的進程:

fuser -km mount_point

卸載 umount device 或者 umount mount_point

文件掛載配置文件 /etc/fstab

1、要掛載的設備或偽文件系統:設備文件、lable(LABLE="")、UUID(UUID="")、偽文件系統名稱(proc、sysfs)

2、掛載點:

3、文件系統類型

4、掛載選項:defaults,acl …

5、轉儲頻率:0,不做備份。1、每天轉儲。2、每隔一天轉儲

6、自檢次序:0、不自檢。1、首先自檢,一般只有rootfs才用1

創建ISO文件

cp /dev/cdrom /root/centos7.iso

mkisofs -r -o /root/etc.iso /etc 

刻錄光盤

wodim -v -eject centos.iso 

常見工具命令

free [option] -m :以M為單位 -g :以GB為單位

df [option]…[file]…

-H:以1000為單位

-T:文件系統類型

-h:human readable

-i:inodes instead of block 

-p:以posix 兼容的格式輸出

du [option]…dir 

-h :human readable

-s :summary

dd if=/path/from/src of=/path/to/dest

bs=# :block size ,復制單元大小

count=# :復制多少個bs

of=file 寫到所命名的文件

if=file  從file文件讀取

bs=size 指定塊大?。词筰bs也是obs)

ibs=size 一次讀取size個byte

obs=size 一次寫size個byte

cbs=size 一次轉化size個byte

skip=blocks 從開頭忽略blocks個ibs大小的快

seek=blocks 從開頭忽略blocks個obs大小的快

count=n 只拷貝n個記錄

conv=conversion[,conversion…] 用指定的參數轉換文件,轉換參數如下:

ascii  轉換ebcdic為ascii

ebcdic 轉換ascii為ebcdic

block 轉換一行數據為度為cbs的記錄,不足部分用空格填充

unblock 替代cbs長度的每一行尾的空格為新行

lcase 吧大寫字符轉換為小寫字符

ucase 吧小寫字符轉換為大寫字符

nocreat 不創建輸出文件

noerror 出錯時不停止

notrunc 不截短輸出文件

sync 把每個輸出塊填充到ibs個字節,不足部分用空字符補齊

備份MBR: dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1

—-joker的部落閣

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

(0)
jokerjoker
上一篇 2016-12-02
下一篇 2016-12-02

相關推薦

  • 馬哥教育21期網絡班—第12周課程+練習—-LAMP練習

    1、請描述一次完整的http請求處理過程; (1) 建立或處理連接:接收請求或拒絕請求 (2) 接收請求: 接收來自于網絡的請求報文中對某資源的一次請求的過程; 持久連接:接收到請求不會斷開這個請求 非持久連接:一個連接請求斷開一次 并發訪問響應模型(Web I/O): 單進程I/O結構:啟動一個進程處理用戶請求,而且一次只處理…

    Linux干貨 2016-09-26
  • Liunx 磁盤管理

    我們先來了解一下在Linux中磁盤的命名方式 命名:/dev/DEV_FILE    Sd :表示SCSI硬盤    Sda:表示SCSI硬盤中第一塊硬盤,b表示第二塊,以此類推 在Linux上次磁盤主要有兩種分區方式MBR和GPT MBR分區格式最多有4個分區,可以是4個主分區,或者3個主分區和1個擴展分區,第一個邏…

    2017-08-21
  • Linux系統用戶與組管理命令及配置文件總結

    一、Linux系統用戶及組分類 1、用戶類別 Linux系統中的用戶大致可分為三類:root用戶、系統用戶、普通用戶。每一個用戶都擁有一個唯一的身份標識UID。 2、組分類 與用戶信息對應的,Linux系統中的組也可分為三類:root組、系統組、普通組。每一個組也有一個對應的唯一標識GID。 需要說明的是,UID和GID為0的用戶對應的就是固定的root,即…

    Linux干貨 2016-10-23
  • 測試Markdown

    測試markdown是否可用

    Linux干貨 2018-03-10
  • bash腳本編程練習:判斷、循環

      1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash # declare -i sumlogin=0 declare -i sumnologin=0 for&nbs…

    Linux干貨 2016-11-22
  • Linux正則表達式及文件查找

    1、顯示當前系統上root、fedora或者user1用戶的默認shell. #? ?grep? -E? ?“^(root|fedora|user1)”? ?/etc/passwd | cut -d: -f1,7     2、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,…

    2017-10-22
欧美性久久久久