文件管理

echo“- – -”>/sys/class/scsi_host/host2/scan掃描新裝的硬盤,不需要重啟

磁盤管理三大步驟:分區,管理,掛載

設備文件創建mknob cdrom /mnt/cdrom

并行接口針多,但是傳的速度過快,會對數據造成干擾

vLinux的數據一般都存儲在分區空間

學習linux的磁盤管理就必須:1. 設備識別 2.設備分區 ;3.創建文件系統 ;

4.標記文件系統 ;5./etc/fstab 文件中創建條目 6.掛載新的文件系統

一、磁盤結構與分區

柱面cylinder磁道)、255磁頭head512Bite*63扇區secotr

SCSI、SATA、SASUSB都顯示/dev/sd

兩種分區方式:MBR ,GPT

v MBR: Master Boot Record放在磁盤的第一個扇區里(最外圈)0扇區 ,1982年,

使用32位表示扇區數,分區不超過2T

v     如何分區:按柱面     0 磁道0 扇區:512bytes

446bytes: boot loader   64bytes:分區表以16bytes標識一個分區  2bytes: 55AA結束標志,說明前面是有用的。

vMBR分為: 4 個主分區;3 主分區+1 擴展(N邏輯分區 )

文件管理 

v GPT:GUID Globals Unique Identifiers

partition  table支持128個分區,使用64 位,支持8Z512Byte/block  64Z 4096Byte/block) )

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

v UEFI ( 統一擴展固件接口) 硬件支持GPT,使操作系統啟動

分區主分區、擴展分區、邏輯分區,基于MBR來分,GPT上只有主分區

主分區一個硬盤上最多四個,操作系統啟動文件,激活分區只有一個,計算機啟動時,會找激活分區的主分區,在啟動操作系統),不能細分為小區/dev/sda1-4,來表示的,包括擴展分區在內

擴展分區:在一個硬盤上最多只有一個,不能直接存數據 /dev/sda1-4

邏輯分區:邏輯分區在擴展分區,存儲數據,只能/dev/sda5- n,從第5分區開始

分區作用v1.優化I/O性能,建議把日志單獨劃分一個分區

2. 實現磁盤空間配額限制 ; 3.提高修復速度 ; 4.隔離系統程序  5.安裝多個OS ;6.采用不同的文件系統

二、管理分區

列出塊設備:lsblk 選項:-l塊設備列表sda,以及掛載信息) –V:查看塊設備的版本信息

v  創建分區使用:

  fdisk  創建MBR 分區 (dosfdisk –l /dev/sda  -u=cylinders; -u=secotr…

  gdisk  創建GPT 分區

  parted  高級分區操作(創建、復制、調整大小等等)  :創建分區、改變類型v

分區工具fdiskgdisk   

  fdisk創建MBR分區,一般對硬盤分區,不對分區再次分區 gfisk /dev/sdb創建GPT 分區工具

  fdisk -l [-u] [device…]  /dev/sda 查看所有磁盤分區信息

2.1 fdisk /dev/sda 

p  分區列表  ;   t  更改分區類型  ;   n  創建新分區

d  刪除分區  ;   w  保存并退出   ;   q  不保存并退出

設備的名稱可能環境變化而發生改變,把邏輯分區5刪除之后,邏輯分區6就會變成5

         因而在配置文件里最好不用分區設備名稱

fdisk  -l /dev/sdX 查看物理硬盤的分區表 

注意:老的硬盤有數據)新加分區存盤退出的時候很有可能會出現不同步的情況;

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

   cat /proc/partitions、lsblk、ls /dev/sda*’:查看內存中的分區表可能與磁盤中的分區不同步,

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

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

partprobe /dev/sda可以同步分區表不管增加、刪除),適用于CentOS5,7

partx –a /dev/sda :增加分區同步方法,適用于CentOS6

partx –d – -nr 6-8 /dev/sda刪除分區6-8的同步方法,適用于CentOS6

2.3 parted分區工具 

    parted [ 選項]… 設備 命令 [ 參數]…]  即時生效

parted /dev/sdb mklabel gpt|msdos  改變分區表結構gpt或者mbr

parted /dev/sdb print  打印分區 ;parted /dev/sdb mkpart primary 1 200  (默認M 

parted /dev/sdb rm 1 刪除分區

parted –l 查看所有磁盤狀態  partedp:查看格式化是否成功 列出磁盤分區

注意parted 的操作都是實時生效的,小心使用

三、file system 文件系統類型

   磁盤分區之后選擇不同的文件系統

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

      ntfs支持4G以上的文件,可以設置權限) fat32G),ext2,34

    RAW:未經處理或者未經格式化產生的文件系統(沒有文件系統不方便管理,但是不影響性能)

有一些數據庫,直接通過二進制查看,剛分完取就相當于RAW

3.1 Linux 文件系統

    ext2(Extended file system), ext3,ext4, CentOS6  ;光盤:iso9660    可以df –T 查看

    xfsCentOS7 SGI , btrfs Oracle , reiserfs, jfsAIX , swap用來模擬內存使用)

Windows文件系統 fat32, ntfs   v Unix: FFS fast , UFS unix , JFS2

v  網絡文件系統:NFS, CIFS

v  集群文件系統:GFS2, OCFS2 oracle)服務器和存儲都有群集,容錯率增加

v  分布式文件系統:ceph, moosefs, mogilefs, glusterfs,Lustre 就近訪問,速度快

   對系統文件操作時,系統會對這次的操作做一個記錄,修改硬盤的文件,先要把文件讀入到內存中,然后在內存中修改,最后傳遞到硬盤文件中。但是有日志的文件系統是修改的文件記錄在硬盤文件帶有的日志,最后在系統不忙的時候日志的文件就會寫入到硬盤文件中了。避免修改的過程中突發實況斷電)會毀壞數據,因而寫日志能夠保證系統的穩定性要么修改前,要么修改后)實時修改文件(與內存中的文件同時修改)

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

日志型文件系統: ext3, ext4, xfs, …  ;    非日志型文件系統: ext2, vfat

v  文件系統的組成部分:

內核中的驅動程序模塊:ext4, xfs, vfat         lsmod module(模塊):列舉模塊

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

v Linux 的虛擬文件系統:VFSVirutal file system,用戶打交道的是虛擬文件系統,文件系統不同,訪問方法也就不同,VFS屏蔽文件系統的區別,就可以按照統一方法訪問,操作的命令也就是一樣的。(代理程序)

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

   blkid:查看分區是否有文件系統,列出的分區都是有文件系統的分區

3.2 創建文件系統mkfs

       文件系統的格式化:mkfs 創建文件系統的過程) 格式化之前必須取消掛載。

   為了表示是使用UUID,為了保證UUID的唯一性,規范定義了包括網卡MAC地址、時間戳、名字空間(Namespace)、隨機或偽隨機數、時序等元素,以及從這些元素生成UUID的算法

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

 -t {ext2|ext3|ext4}   -b {1024|2048|4096} :對文件分配空間的最小單位指定塊大小,格式化完了就不能指定了

     -L 'LABEL' 設定卷標         -j: 于 相當于 -t ext3

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

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

  -N # :為數據空間創建個多少個inode    -I:一個inode 記錄大小128—4096

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

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

3.2.2 tune2fs 重新設定ext 系列文件系統

      文件系統標簽L:  指向設備的另一種方法  與設備無關

vv e2label :管理ext 系列文件系統的LABEL      # e2label DEVICE [LABEL]

tune2fs :重新設定ext 系列文件系統可調整參數的值,格式化之后指定塊大小  注意:塊大小創建后不可更改)

   -l :查看指定文件系統超級塊信息;super block 文件系統的元數據就是存儲在超級塊中

-L 'LABEL' :修改卷標  ; -m # :修預留給管理員的空間百分比  ;-j:  ext2 升級為ext3

   O:  文件系統屬性啟用或禁用, O ^has_journal 禁用日志功能

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

findfs  :查找分區

findfs [options] LABEL=<label>          findfs [options] UUID=<uuid>

-U UUID:  修改UUID  uuidgen生成UUID

v dumpe2fs查看超級塊分組 -h :查看超級塊信息,不顯示分組信息 =tune2fs –l

v  超級塊:存儲文件系統的大小、有多少是空的和已經填滿的占多少,以及它們各自的總數和其他諸如此的信息要使用一個分區來進行數據訪問,那么第一個要訪問的是超級塊,如果超級塊壞了,那磁盤就壞了

超級塊占用第1物理塊,是文件系統的控制,超級塊包括:文件系統的大小、空閑的數目、空閑的索引空閑i節點數目、空閑i節點索引表、封鎖標記等。超級塊系統為文件分配存儲空間、回收存儲空間得依據。

所以為了防止超級塊數據被破壞,一般在組的1,35,7,9存儲備份。主要的在組0

3.2.3 blkid 塊設備屬性信息查看

blkid [OPTION]… [DEVICE]

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

3.3 fsck文件系統檢測及修復

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

v  掛載為文件系統標記 no clean” ”

注意:因進程意外終止或系統崩潰等原因導致操作非正常終止時,可能會造成文件損壞;此時,應該檢測并修復文 件系統;建議,離線進行(非掛載狀態,無人操作);

v fsck: File System Check  只能修復文件系統的結構,不能修復上面的數據

fsck.FS_TYPE             fsck -t FS_TYPE    FS_TYPE 一定要與分區上已經文件類型相同

-a:  自動修復錯誤    ;       -r:  交互式修復錯誤

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

-y :自動回答為yes   ;       -f 強制修復每個扇區的一塊塊尋找壞的扇區進行修復

四、掛載mount

v  linux操作系統中,掛載是一個非常重要的功能,使用非常頻繁。它指將一個設備(通常是存儲設備)掛接到一個已存在的目錄上。(這個目錄可以不為空,但掛載后這個目錄下以前的內容將不可用。)需要理解的是,linux操作系統將所有的設備都看作文件,它將整個計算機的資源都整合成一個大的文件目錄。

    我們要訪問存儲設備中的文件,必須將文件所在的分區掛載到一個已存在的目錄上,然后通過訪問這個目錄來訪問存儲設備。

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

v  把設備關聯掛載mountmount Point  ;  卸載umount:可使用設備,也可以使用掛載點

v     掛載點下原有文件在掛載完成后會被臨時隱藏   掛載點目錄一般為空

4.1mount命令掛載文件系統

掛載方法:mount  DEVICE設備名  MOUNT_POINT掛載點

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

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

device :指明要掛載的設備;df:顯示掛載的設備以及分區使用情況

(1)  設備文件:例如/dev/sda5   (2)  卷標:-L 'LABEL', 如 例如 -L 'MYDATA'

(3)  UUID, -U 'UUID'如 :例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'

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

   dir :掛載點,事先存在;建議使用空目錄 ,進程正在使用中的設備無法被卸載(取消掛載)

4.2 mount常用命令選項 

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

 -r: readonly ,只讀掛載     -w: read and write,  讀寫掛載;  -n:  不更新/etc/mtab ,相當于#mount

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

v -L 'LABEL':  以卷標指定掛載設備 ;  v -U 'UUID':  UUID 指定要掛載的設備

v -B、–bind:  綁定目錄到另一個目錄上,文件目錄掛載與硬鏈接有區別,鏈接數不會增加。

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

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

  同步模式把硬盤的文件先寫到內存中,預防突發情況,效率較低,但是穩定

異步模式在系統不太忙的時候寫到磁盤中,默認為異步模式。

atime/noatime :包含目錄和文件    diratime/nodiratime :目錄的訪問時間戳

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

exec/noexec :是否支持將文件系統上運行應用程序 ,避免外來設備掛載造成隱患

dev/nodev :是否支持在此文件系統上使用設備文件 ,掛載的分區中設備文件被禁用掛載

suid/nosuid :是否支持suid sgid 權限 ,不讓有suid執行文件普通用戶使用。

查看內核追蹤到的已掛載的所有設備:cat /proc/mounts內存mount /etc/mtab同步

4.3 remount重新掛載 

    重新掛載 mount –o remount,acl /dev/xxx /mnt/xxx ,在修改了/etc/fstab文件下使用重新掛載

        ro :只讀         ;        rw: 讀寫

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

acl :啟用此文件系統上的acl 功能   userquota:使用者限額

v   Defaults默認):相當于rw, nosuid, dev, exec, auto, nouser, async

4.4 卸載命令umount

卸載:  # umount DEVICE        # umount MOUNT_POINT

    查看掛載情況:   #findmnt  MOUNT_POINT

  查看正在訪問指定文件系統的進程:  #lsof MOUNT_POINT   、  #fuser -v MOUNT_POINT

終止所有在正訪問指定的文件系統的進程  # fuser -km MOUNT_POINT  

mount 、fsck 和其它程序使用

v  系統重啟時保留文件系統體系 可以在設備欄使用文件系統卷標

v  使用mount -a  命令掛載/etc/fstab配置文件系統體系,只能是新添加的掛載,不是修改掛載

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

   設定除根文件系統以外的其它文件系統能夠開機時自動掛載:/etc/fstab文件

mount查看被掛載的設備和文件目錄df:查看文件系統的利用率,也能顯示掛載的文件

    proc/mount :查看掛載設備及其它的屬性(最全面  /etc/mtab查看掛載設備

/etc/fstab 每行定義一個要掛載的文件系統; 關于文件系統的靜態信息

?  1.要掛載的設備或偽文件系統   2.掛載點    3.文件系統類型

?  4. 掛載選項            5. 轉儲頻率       6.自檢次序

v  要掛載的設備或偽文件系統:

設備文件、LABEL(LABEL="") UUID(UUID="") 、偽文件系統名稱(proc,sysfs)

v  掛載選項: defaults

v  轉儲頻率: 0 :不做備份    ;  1 :每天轉儲    ;  2 :每隔一天轉儲

v  自檢次序: 0 :不自檢      ;  1 :首先自檢;一般只有rootfs 才用1

      當配置文件修改好之后,用mount -o remount /mnt/XXX,來讓掛載生效

   小問題:如果fstab中的uuid出錯了,系統就啟動不起來了,掛載文件會出現錯誤,根目錄/變成只讀的,必須要給予根目錄執行權限mount  -o  remount ,rw  /  才能vim /etc/fstab,把掛載錯誤修改過來。

   總結:分區 fdisk  ;創建文件系統mkfs (增加或刪除的時候要注意同步partx);掛載或重新掛載mount,掛載過后,要想開機重啟之后保留掛載的文件,就需要在/etc/fstab中把掛載的一項加進去(r blkid /dev/XXX 寫入UUID),在用mount -a,就相當于重啟了,以后都能生效。最后可以用df查看

4.6 mount作用

掛載移動介質:

v  掛載意味著使外來的文件系統看起來如同是主目錄樹的一部分

v  訪問前、介質必須被掛載  ;  摘除時,介質必須被卸載

v  按照默認設置,非根用戶只能掛載某些設備(光盤、DVD 、軟盤、USB 等等)

v  掛載點通常在/media  /mnt

被內核探測為SCSI 設備 :/dev/sdaX /dev/sdbX 、或類似的設備文件

v 在圖形環境中自動掛載:圖標在[ 計算機] 窗口中創建 ;掛載在/run/media/<user>/<label>

手動掛載: mount /dev/sdb1 /mnt

4.6.1掛載設備 

        mount  /dev/sda  /mnt/sda

4.6.2 掛載文件 

        mount  -o loop file  /mnt/file

回環設備:一般為使用鏡像文件(鏡像文件中也有文件系統)虛擬塊設備存在于實際的另一個文件系統中

              #mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNT_POINT

    可以做分區實驗,可以掛載使用,但是文件掛載必須要 mount -o -loop /partfile /mnt/partfile;

           也可以用losetup  /dev/loop6  /partfile 創建一個對應文件與設備的映射關系。

mknod /dev/sda b 7 8,創建/dev/loop7 /dev/loop8

此時在 /mnt/partfile 下寫的文件就能在/partfile中存儲,/partfile可以作為一個打包文件,備份使用,取消掛載之后,數據就能在/partfile中存儲。

4.6.3 掛載目錄 

        mount  -B –bind dir1 dir2 (被掛載的目錄中的原來文件被自動隱藏)

4.6.4 掛載網絡 

         mount  networkshare  /mnt/sda

4.6.5 掛載ISO文件

      cp /dev/cdrom /root/centos7.iso   mount -o loop /testdir/centos7.iso  /mnt/iso  掛載iso文件

             mkisofs -r -o /root/etc.iso /etc  將目錄打包成iso文件

4.6.6刻錄光盤

       wodim v eject centos.iso

 

五、swap處理交換文件和分區

交換分區是系統RAM 的補充,模擬內存分區(blkid、lsblkcat/proc/swap、free查看swap內存和使用)

v  基本設置包括:

1.創建交換分區或者文件       2.使用mkswap 寫入特殊簽名

3. /etc/fstab 文件中添加適當的條目    4.使用swapon a激活交換空間

掛載交換分區:vim /etc/fstab

 啟用:swapon    swapon [OPTION]… [DEVICE]

-a :激活所有的交換分區;    -p PRIORITY :指定優先級

/etc/fstab:pri=value

v  禁用:swapoff [OPTION]… [DEVICE]

5.1 swap分區創建與刪除

1、fdisk /dev/sdd

      1:創建分區1   t:改變ID號為82   82 :默認swapID號是82

注意:新硬盤不需要同步,已經用過的硬盤需要同步partprobe     partx -a /dev/sdd

2、mkswap /dev/sdd1  創建/dev/sdd1的文件系統為swap

     可以用blkid查看swap文件系統是否創建。

3vim /etc/fstab    uuid=xxxx swap swap default,pri=100  0  0  優先級為100

4、swapon -a 讀取優先級文件 /etc/fstab

     swapon -s = cat/proc/swaps 查看已經啟用的swap

刪除swap分區:必須先1.swapoff /dev/XXX ,在刪除2.vim  /etc/fstab 、再 3.fdisk /dev/XXX  d刪除 ;w保存

5.2 文件模擬創建swap分區

    如果僅有一個硬盤且分區用光,可以用文件模擬swap

       1.dd  if=/dev/zero  of=/swapfile bs=1M count=1024

2.然后mkswap /swapfile 格式化,不用考慮同步  ;再blkid /swapfile 可以查看swap文件系統

      3.編輯 vim /etc/fstab   /swapfile  swap  swap  defaults  0   0

      4.swapon -a  ;  free(查看swap分區的使用情況)  ;  swap -s (查看已經啟用的swap

刪除swap分區:swapoff  /swapfile  vim /etc/fstab  刪除swapfile行 ,最后rm -rf /swapfile

六、磁盤管理常用工具

6.1 free內存空間使用狀態

    free [OPTION]    free -m

-m:  MB 為單位    ; -g:  GB 為單位

6.2 df文件系統空間占用等信息的查看工具

      df [OPTION]… [FILE]…   df -Th  df -i

-H  1000 為單位    ;-T  文件系統類型    ;-h: human-readable 可讀的     

-i inodes instead of blocks (節點而不是塊) ;  -P:  Posix 兼容的格式輸出

6.3 du查看某目錄總體空間占用狀態

     du [OPTION]… DIR

-h: human-readable可讀的    ; -s: summary統計   du -sh

6.4 dd 轉換和復制文件

    ddconvert and copy a file用法:

dd if=/PATH/FROM/SRC of=/PATH/TO/DEST

bs=# block size,  復制單元大小  ;  count=# :復制多少個bs

of=file 寫到所命名的文件而不是到標準輸出    if=file 從所命名文件讀取而不是從標準輸入

bs=size 指定塊大?。仁鞘?/span>ibs 也是obs)    ;  ibs=size 一次讀size byte

obs=size 一次寫size byte                cbs=size 一次轉化size byte

skip=blocks 從開頭忽略blocks ibs 大小的塊 ;eek=blocks 從開頭忽略blocks obs 大小的塊

count=n 只拷貝n個記錄    conv=conversion[,conversion…]  用指定的參數轉換文件

v  轉換參數:

v ascii 換 轉換 EBCDIC 為 為 ASCII  ; ebcdic 換 轉換 ASCII 為 為 EBCDIC

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

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

v lcase  把大寫字符轉換為小寫字符  ;ucase  把小寫字符轉換為大寫字符

v nocreat  不創建輸出文件; noerror  出錯時不停止 ; notrunc 不截短輸出文件

v sync  把每個輸入塊填充到ibs 個字節,不足部分用空(NUL)

6.4.1 備份和破壞MBR分區信息

    備份MBR分區信息

dd  if=/dev/sda  of=/tmp/mbr.bak  bs=512  count=1

v  破壞MBR 中的bootloader 引導程序

dd  if=/dev/zero  of=/dev/sda  bs=64  count=1  seek=446

示例:有一個大與2K 的二進制文件fileA。 。 現在想從第64 個字節位置開始讀取,需要讀取的大小是128Byts 。又有fileB,  想把上面讀取到的128Bytes 寫到第32 個字節開始的位置,替換128Bytes ,請問如何實現?

   #dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31  conv=notrunc

 

6.4.2備份和恢復

備份:

  dd if=/dev/sdx of=/dev/sdy    :將本地的/dev/sdx 整盤備份到/dev/sdy

dd if=/dev/sdx of=/path/to/image :將/dev/sdx 全盤數據備份到指定路徑的image 文件

dd if=/dev/sdx | gzip >/path/to/image.gz:備份/dev/sdx 全盤數據,并利用gzip 工具進行壓縮,保存到指定路徑

恢復:

  dd if=/path/to/image of=/dev/sdx  :  將備份文件恢復到指定盤

gzip -dc /path/to/image.gz | dd of=/dev/sdx  :將壓縮的備份文件恢復到指定盤

6.4.3 拷貝與銷毀數據

拷貝內存資料到硬盤:dd if=/dev/mem of=/root/mem.bin bs=1024

                       將內存里的數據拷貝到root 目錄下的mem.bin 文件

從光盤拷貝iso 鏡像:dd if=/dev/cdrom of=/root/cd.iso

                        拷貝光盤數據到root 文件夾下,并保存為cd.iso 文件

銷毀磁盤數據:dd if=/dev/urandom of=/dev/sda1

                利用隨機的數據填充硬盤,在某些必要的場合可以用來銷毀數據。執行此操作以后,/dev/sda1 將無法掛載,創建和拷貝操作無法執行。

6.4.4 硬盤測試

6.4.4.1得到最恰當的block size

dd if=/dev/zero bs=1024 count=1000000  of=/root/1Gb.file

dd if=/dev/zero bs=2048 count=500000  of=/root/1Gb.file

dd if=/dev/zero bs=4096 count=250000  of=/root/1Gb.file

通過比較dd 指令輸出中所顯示的命令執行時間,即可確定系統最佳的block size 大小

6.4.4.2 測試硬盤讀寫速度

dd if=/dev/zero  of=/root/1Gb.file  bs=1024  count=1000000

dd if=/root/1Gb.file  bs=64k  |  dd of=/dev/null

通過上兩個命令輸出的執行時間,可以計算出測試硬盤的寫//速度

6.4.5修復硬盤

dd if=/dev/sda of=/dev/sda

    當硬盤較長時間(比如1,2 年)放置不使用后,磁盤上會產生消磁點。當磁頭讀到這些區域時會遇到困難,并可能導致I/O 錯誤。當這種情況影響到硬盤的第一個扇區時,可能導致硬盤報廢。上邊的命令有可能使這些數據起死回 生,且這個過程是安全高效的。

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

(0)
lyxlyx
上一篇 2016-11-27 20:30
下一篇 2016-11-27 20:34

相關推薦

  • 第一周作業-01

    計算機組成    硬件:主要由5大部件組成,CPU包含運算器和控制器兩大部件        CPU:運算器、控制器、寄存器、緩存        存儲器:內存,RAM(Random Access Memory)    , Memory只支持平…

    Linux干貨 2016-09-10
  • Linux磁盤和文件系統基礎

    概述     Linux系統上,磁盤要正常的進行數據的存儲,需要先進行分區,再進行格式化生成文件系統,最后掛載到某個目錄下,才能進行正常的數據存取,本篇就介紹一下磁盤從分區到正常使用的幾個步驟,具體分為以下幾個部分:     1、磁盤的基礎概念   &nbsp…

    Linux干貨 2016-08-29
  • MySQL管理應用入門(一)

    什么是數據庫? 數據庫(Database)是按照數據結構來組織、存儲和管理數據的建立在計算機存儲設備上的倉庫。 簡單來說是本身可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。 在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的“倉庫”,并根據管理的需要進行相應的處理。 例如, 企業或事業單位的人事部…

    Linux干貨 2017-07-08
  • 第一周作業

    1. 描述計算機的組成及其功能 CPU:CPU包括運算器和控制器,并采用大規模集成電路工藝制成的芯片,又稱微處理器芯片。 運算器又稱算術邏輯單元(Arithmetic Logic Unit簡稱ALU)。它是計算機對數據進行加工處理的部件,包括算術運算(加、減、乘、除等)和邏輯運算(與、或、非、異或、比較等)。 控制器負責從存儲器中取出指令,并對指令進行譯碼;…

    Linux干貨 2017-01-04
  • RAID詳解

    測試機centos6.7 x86_64 一、RAID是什么     簡單描述:RAID(Redundant Array of indenpensive Disk)獨立磁盤冗余陣列:磁盤陣列是把多個磁盤組成一個陣列,當作單一磁盤使用,它將數據以分段或條帶(striping)的方式儲存在不同的磁盤中,存取數據時,陣列中的相關磁盤一起…

    2016-02-14
  • 編譯安裝LAMP

    編譯安裝LAMP (1) 系統環境:CentOS 6, 7     CentOS 6:apr, apr-util的版本為1.3.9,不適用于httpd-2.4;     CentOS 7:apr, apr-util的版本為1.4+, (2) 開發環境…

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