磁盤管理之swap,移動設備及dd命令的使用

首先我們來復習一下前一天的內容 CHS Sector(扇區) 512字節 track(磁道) 63個 2^6個扇區 1024個磁道,10個位存儲磁道數 track=cylinder(柱面) cylinder=(容量)sector(512)track(63)head(256)=8M head(磁頭) 256 8位存儲

MBR的分區方式都是基于柱面為整數倍劃分分區,所以分出來的柱面都是8M的整數倍,但是從現在centos6開始,MBR分區已經可以打破柱面的整數倍,我們可以采用扇區為單位劃分.

兩種分區方式 MBR,GPT MBR分主分區和擴展分區,兩個位不一樣MBR是32位的 GPT所有的都是主分區,128個.GPT是64位的

格式化 VFAT 最多存4G的分區 ext 可以存放50T的分區 xfs

工具 fdisk 善于MBR的分區 gdisk fdisk的GPT分區工具 parted 善長與GPT的分區

同步 Centos 6 partx -a /dev/sda 增加磁盤的同步 partx -d -nr m:n /dev/sda 刪除分區的同步

centos5和7 partprobe 同步分區

dd fdisk -l 查看物理中的分區同步情況 cat /proc/partations ls /dev/sd* lsblk 三個命令查看內存中的分區同步情況

格式化命令 mkfs.文件系統 mkfs -t [文件系統] mke2fs ext文件系統的格式命令

掛載 mount -o ro,rw,suid,exec umount

tune2fs -l 查看文件系統信息

一.概述

卸載命令: 查看掛載情況:

#findmnt MOUNT_POINT

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

#lsof MOUNT_POINT

#fuser -v MOUNT_POINT

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

#fuser -km MOUNT_POINT

卸載:

#umount DEVICE

#umount MOUNT_POINT

掛載點和/etc/fstab:

配置文件系統體系

被mount、fsck和其它程序使用

系統重啟時保留文件系統體系

可以在設備欄使用文件系統卷標

使用mount -a 命令掛載/etc/fstab中的所有文件系統

文件掛載配置文件:

/etc/fstab 每行定義一個要掛載的文件系統;

要掛載的設備或偽文件系統
掛載點
文件系統類型
掛載選項
轉儲頻率
自檢次序
要掛載的設備或偽文件系統:
設備文件、LABEL(LABEL="")、UUID(UUID="")、偽文件系統名稱(proc,sysfs)

掛載選項: defaults

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

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

磁盤管理之swap,移動設備及dd命令的使用

好,我們自己來掛載一個分區

磁盤管理之swap,移動設備及dd命令的使用

磁盤管理之swap,移動設備及dd命令的使用 第一個要掛載設備必須寫卷標,或者UUID及其他偽文件系統,不能寫設備名,因為設備名在丟失前一個設備名,就會自動變更設備名.例如sda5和sda6,如果sda5沒了.sda6將會自動變為sda5

mount -a 是配置文件中有分區沒有掛載,可以重新生效,而分區如果已經掛載,只是修改了選項,將不會有作用

我們現在將新添加的磁盤增加ro選項,然后生效的過程(增加ro選項將會使這塊分區不能寫入和修改文件)

磁盤管理之swap,移動設備及dd命令的使用磁盤管理之swap,移動設備及dd命令的使用

磁盤管理之swap,移動設備及dd命令的使用

磁盤管理之swap,移動設備及dd命令的使用 各種類型文件系統的寫進配置文件中的方法

磁盤管理之swap,移動設備及dd命令的使用 磁盤管理之swap,移動設備及dd命令的使用 磁盤管理之swap,移動設備及dd命令的使用

所以如果沒有必要的情況下,就設置為0,因為非0,如果設備出現問題,將會阻止你啟動系統.

處理交換文件和分區:

交換分區是系統RAM的補充

基本設置包括:

? 創建交換分區或者文件

? 使用mkswap寫入特殊簽名

? 在/etc/fstab文件中添加適當的條目

? 使用swapon -a 激活交換空間

cat /proc/swaps 查看當前提供swap的信息

swap在mount命令下是看不到的,因為swap是虛擬內存使用的,沒有真正掛載到目錄上

現在我們自己手動建一個新的swap分區

啟用:swapon

swapon [OPTION]… [DEVICE]

-a:激活所有的交換分區;

-p PRIORITY:指定優先級

/etc/fstab:pri=value

禁用:swapoff [OPTION]… [DEVICE]

SWAP的優先級:

可以指定swap分區0到32767的優先級,值越大優先級越高

如果用戶沒有指定,那么核心會自動給swap指定一個優先級,這個優先級從-1開始,每加入一個新的沒有用戶指定優先級的swap,會給這個優先級減一。

先添加的swap的缺省優先級比較高,除非用戶自己指定一個優先級,而用戶指定的優先級(是正數)永遠高于核心缺省指定的優先級(是負數)。

優化性能:分布存放,高性能磁盤存放

練習:創建一個swap分區,并調整優先級.讓他高于系統分配的sawp

第一步,我們先找到一塊空閑磁盤做swap分區.

磁盤管理之swap,移動設備及dd命令的使用 磁盤管理之swap,移動設備及dd命令的使用

第二步,弄好之后就格式化swap分區,寫進/etc/fstab配置文件中. 磁盤管理之swap,移動設備及dd命令的使用 磁盤管理之swap,移動設備及dd命令的使用 磁盤管理之swap,移動設備及dd命令的使用

第三步,我們來激活增加的swap分區 磁盤管理之swap,移動設備及dd命令的使用 現在我們就已經激活使用新的swap了

第二個練習我們創建一個文件來當作一個swap分區,當然這個文件也可以當作分區存儲使用/當下,我們只演示swap

首先,我們創建一個2G的文件,然后格式化為swap分區 磁盤管理之swap,移動設備及dd命令的使用

第二步就直接寫入/etc/fstab配置文件中,然后激活swap分區,就可以看到swap分區已經成功添加. 磁盤管理之swap,移動設備及dd命令的使用

創建一個文件當作一個分區,來存儲文件

第一步創建一個1G的文件,然后格式化該文件ext4的文件系統 磁盤管理之swap,移動設備及dd命令的使用

第二步掛載文件到哪個目錄就可以實現功能 磁盤管理之swap,移動設備及dd命令的使用

關聯設備名 磁盤管理之swap,移動設備及dd命令的使用

可以實現的是創建一個文件當分區使用..掛載設備

下面舉例說明 磁盤管理之swap,移動設備及dd命令的使用 磁盤管理之swap,移動設備及dd命令的使用


磁盤管理之移動介質

移動介質

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

訪問前、介質必須被掛載

摘除時,介質必須被卸載

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

掛載點通常在/media 或/mnt下

使用光盤:

在圖形環境下自動啟動掛載/run/media//

否則就必須被手工掛載

mount /dev/cdrom /mnt/

eject命令卸載或彈出磁盤

創建ISO文件

cp /dev/cdrom /root/centos7.iso

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

刻錄光盤

wodim –v –eject centos.iso

掛載USB介質:

被內核探測為SCSI設備

/dev/sdaX、/dev/sdbX、或類似的設備文件

?在圖形環境中自動掛載

圖標在[計算機]窗口中創建

掛載在/run/media//

手動掛載

mount /dev/sdb1 /mnt

sync 同步磁盤

常見工具:

內存空間使用狀態:

free [OPTION]

-m: 以MB為單位

-g: 以GB為單位

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

df[OPTION]… [FILE]…

-H 以1000為單位

-T 文件系統類型

-h: human-readable

-i:inodesinstead of blocks

-P: 以Posix兼容的格式輸出

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

du [OPTION]… DIR

-h: human-readable

-s: summary

工具dd:

dd命令:convert and copy a file

用法:

ddif=/PATH/FROM/SRC of=/PATH/TO/DEST

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

of=file寫到所命名的文件而不是到標準輸出

if=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個記錄

cbs=size 一次轉換多少byte

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

轉換參數:

ascii 轉換EBCDIC 為ASCII

ebcdic 轉換ASCII 為EBCDIC

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

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

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

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

nocreat 不創建輸出文件

noerror 出錯時不停止

notrunc 不截短輸出文件

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

磁盤拷貝:

dd if=/dev/sdaof=/dev/sdb

備份MBR:

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

blob.png

破壞MBR中的bootloader:

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

blob.png

有一個大與2K的二進制文件fileA?,F在想從第64個字節位置開始讀取,需要讀取的大小是

128Byts。又有fileB, 想把上面讀取到的128Bytes寫到第32個字節開始的位置,替換128Bytes,

請問如何實現?

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

備份:

dd if=/dev/sdx of=/dev/sdy

將本地的/dev/sdx整盤備份到/dev/sdy

blob.png

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

將壓縮的備份文件恢復到指定盤

拷貝內存資料到硬盤

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將無法掛載,創建和拷貝操作無法執行。

得到最恰當的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大小

blob.png

測試硬盤讀寫速度

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

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

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

修復硬盤

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

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

練習: 1、創建一個2G的文件系統,塊大小為2048byte,預留1%可用空間,文件系統ext4,卷標為TEST,要求此分區開機后自動掛載至/test目錄,且默認有acl掛載選項

blob.png

第一步創建一個2G的分區.

blob.png

第二步格式化

blob.png

將分區寫進fstab配置文件中,設置默認具有acl 權限,并且分區開機后自動掛載至/test目錄

2、寫一個腳本,完成如下功能: (1) 列出當前系統識別到的所有磁盤設備 (2) 如磁盤數量為1,則顯示其空間使用信息 否則,則顯示最后一個磁盤上的空間使用信息

blob.png

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

(0)
KartikKartik
上一篇 2016-09-07
下一篇 2016-09-07

相關推薦

  • systemd管理

    centos7:systemdSystemd :系統啟動和服務器守護進程管理器,負責在系統啟動或運行時,          激活系統資源,服務器進程和其它進程Systemd 新特性:        系統引導時實現服務并行啟動      &n…

    Linux干貨 2017-04-10
  • Nginx相關實戰案例

    Nginx相關實戰案例: Nginx在實際生產中極為重要,先來看一下Nginx配置文件nginx.conf中文詳解 #定義Nginx運行的用戶和用戶組 user www www; #nginx進程數,建議設置為等于CPU總核心數。 worker_processes 8; #全局錯誤日志定義類型,[ debug | info | notice | warn |…

    Linux干貨 2017-06-19
  • LB Cluster 負載均衡集群 —-lvs 配置詳解

    lvs : ipvs scheduler: 根據其調度時是否考慮各RS當前的負載狀態,可分為靜態方法和動態方法兩種: 1、靜態方法:僅根據算法本身進行調度; RR:roundrobin,輪詢; WRR:Weighted RR,加權輪詢; SH:Source Hashing,實現session sticy,源IP地址hash;將來自于同一個IP地址的請求始終發…

    Linux干貨 2016-10-30
  • LInux系統啟動與內核管理(下)

    從上一篇介紹了系統啟動流程可以得知,在BIOS讀取相關信息之后,接下來就是去找第一個可以啟動的設備當中的MBR中讀取Boot Loader信息,Boot Loader提供具有慘淡功能,直接加載內核信息,以及相關的控制權轉交功能。啟動系統必須有Boot Loader,然后才能去加載內核,Boot Loader存儲于MBR當中,MBR只有512字節,其中前446…

    Linux干貨 2016-09-19
  • linux作業管理和任務計劃

    一、作業管理 Linux 的作業控制     前臺作業:通過終端啟動,且啟動后一直占據終端;     后臺作業:可通過終端啟動,但啟動后即轉入后臺運行(釋放終端) 如何讓作業運行于后臺? (1)  運行中的作業: Ctrl+z (2)&nb…

    Linux干貨 2016-09-13
  • N26-第六周

    請詳細總結vim編輯器的使用 vim 模式化的編輯器 vim的三種模式:1.編輯模式(命令模式)                          2.輸入模式          …

    Linux干貨 2017-03-13
欧美性久久久久