本節索引
一、交換分區swap管理
二、Linux系統光盤使用
三、Linux系統USB介質使用
四、強大的dd工具
一、交換分區swap管理:
交換分區是系統RAM的補充,相當于Windows系統中的虛擬內存,當系統RAM不夠用的時候將使用交換
分區來代替內存使用。
基本設置包括:
創建交換分區或者文件
使用mkswap寫入特殊簽名
在/etc/fstab文件中添加適當的條目
使用swapon -a激活交換分區
swapon???????????????????? 啟用交換分區
格式:swapon [OPTION]…[DEVICE]
-a????????????? 激活所有交換分區
-p priority??????? 指定優先級
/etc/fstab:pri=value
swapoff [OPTION]…[DEVICE]?????? 禁用指定交換分區
swap的優先級
可以指定swap分區0到32767的優先級,值越大優先級越高
系統默認會給沒有指定的swap指定一個優先級,從-1開始,每加入一個新的沒有指定優先級的swap,
會給這個優先級減一
先添加的swap的缺省優先級比較高,除非用戶自己指定一個優先級,而用戶
指定的優先級(是正數)永遠高于核心缺省指定的優先級(是負數)
優化性能:分布存放,高性能磁盤存放
場景1:增加一個新的swap分區
1.fdisk? /dev/sdb ?????????????????????????????????? 創建新的swap分區,tyep=82=Linux swap
注:如果文件系統分區沒有同步成功,需我們手動同步分區
CentOS5,7版本:partx ??-a? /dev/sdb
CentOS7版本:partprobe? /dev/sdb
2.mkswap ????? /dev/sdb1 -L swap_sdb2???????????????? 添加swap文件系統
3.vim /etc/fstab
UUID=xxx??????? ? swap??? swap??????? defaults?? 0?????? 0
4.swapon -a?????????????????????????????????????? 使swap分區生效
5.swapon -s?????????????????????????????????????? 查看是否生效
場景2:使用一個文件當做新的swap分區
1.dd if=/dev/zero of=/swapfile? bs=1024M? count=2????? 創建一個2G文件
2.mkswap ? ? /swapfile ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 添加文件的文件系統為swap
blkid? /swapfile ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查看文件系統添加成功
3.vim /etc/fstab ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 修改/etc/fstab文件
/swapfile ? ? ? swap ? ? ? swap ? ? ?defaults ? ? ?0?????? 0
注:掛載文件名,不能使用UUID ?
4.swapon -a
5.swapon -s
二、Linux系統光盤使用
光盤在Linux圖形環境下將自動掛載
否則就必須手動進行掛
掛載命令: ? mount? /dev/cdrom?? /mnt/
ejetc????????????????????????? 卸載或彈出光盤
創建ISO文件
???????? cp? -a? /dev/cdrom?? /root/centos7.iso
???????? mkisofs? -r? -o? /root/etc.iso???? /etc
刻錄光盤
???? wodim???? -v?? -eject?? centos.iso
mkisofs -r -o /root/etc.iso ? ?/etc
這種制作光盤方法可作為yum源,但不可做啟動光盤
centos官網https://wiki.centos.org ?可搜索mkdvdiso.sh腳本
即可引導又可當yum源
三、Linux系統USB介質使用
查看USB設備是否識別
lsusb
被內核探測為SCSI設備
/dev/sdaX、/dev/sdbX、或類似的設備文件
在圖形環境中自動掛載
圖標在[計算機]窗口中創建
掛載在/run/media/<user>/<label>
手動掛載
mount /dev/sdb1?? /mnt
四、強大的dd工具
dd命令:convert and copy a file
用法:
dd if=/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個記錄
conv=conversion[,conversion…] 用指定的參數轉換文件
轉換參數:
ascii ???????????????????????? 轉換 EBCDIC 為 ASCII
ebcdic ???????????????????? 轉換 ASCII 為 EBCDIC
lcase ??????????????????????? 把大寫字符轉換為小寫字符
ucase ????????????????????? 把小寫字符轉換為大寫字符
nocreat ????????? 不創建輸出文件
noerror ????????? 出錯時不停止
notrunc ????????? 不截短輸出文件
sync ???????????????????????? 把每個輸入塊填充到ibs個字節,不足部分用空(NUL)字符補齊
備份MBR:
dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1
破壞MBR中的bootloader:
dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446
有一個大與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
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大小
測試硬盤寫速度
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錯誤。當這種情況影響到硬盤的第一
個扇區時,可能導致硬盤報廢。上邊的命令有可能使這些數據起死回生,且這個
過程是安全高效的
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/97037