在系統中,常見的硬盤接口有分兩類:并行的和串行的
并行:
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