raid,lvm,及sed命令的相關使用總結

raid0 條帶化 chunk最小寫入單位 至少2塊盤 空間大小 單塊磁盤大小*n
raid1 鏡像  1/n   讀性能提升,寫入比單塊盤慢  空間始終是一塊盤的大小   容錯率高  可以壞  n-1塊盤
raid10 容錯高于raid01 但空間損失更多,讀寫性能 提升 造價高。
raid4 

創建 raid ,在磁盤里創建
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sd{b,c,d,e} 

raid,lvm,及sed命令的相關使用總結
# fdisk /dev/md0可進行分區
# mkfs.ext4 /dev/md0格式化
# mkdir /mnt/raid5 創建目錄
# mount /dev/md-0 掛載
**********************************
先添加硬盤,在分區里創建raid
#fdisk /dev/sdc 分區

raid,lvm,及sed命令的相關使用總結
#mkfs.ext4 /dev/sdc格式化

raid,lvm,及sed命令的相關使用總結
raid,lvm,及sed命令的相關使用總結

#mdadm -C /dev/md2 -a yes -l 1 -n 2 -x 1 /dev/sdc{1,2,3}創建
#lsblk
#mkdir /mnt/raid1
#mount /mnt/raid1

mdadm -C /dev/md1 -a yes -l 0 -n 2 -c 1M /dev/sdf{1,2}
-C –create  /dev/mdX 創建 名為mdX 的raid
-a yes 當沒有所有的/dev/mdX 設備時,自動創建該設備
-l –level  n  所要創建的raid等級
-n n  該raid的數據盤有多少個成員 
-x n  該raid的熱備盤有多少個  raid0 不支R持-x
-c 值  指定chunk大小,僅限raid0 raid5 
/dev/sdx….  指定raid的成員盤。
    fd 轉換類型 (為raid)
  
刪除raid
umount
mdadm -D /dev/md2 先查一下,該raid由哪有成員組成
mdadm -S /dev/md2 暫停
 mdadm –zero-superblock /dev/sdf4
 mdadm –zero-superblock /dev/sdf3
清空/etc/mdadm.conf當中,該raid的信息
mdadm /dev/md0 -f /dev/sdd  模擬將/dev/md0 raid中的sdd壞掉
mdadm /dev/md0 -r /dev/sdd  將/dev/md0 raid中的sdd 拔掉
mdadm /dev/md0 -a /dev/sdd  向/dev/md0 增加設備sdd 如數據盤不夠,則加為數據盤,如夠,加為熱備盤
mdadm -G /dev/md0 -n 6 -a /dev/sdh 將/dev/md0的數據盤設置為6個,并將/dev/sdh加入為數據盤。
mdadm -A /dev/md1 /dev/sdb /dev/sdc 當沒有將md1信息保存至mdadm.conf時,只能手動指定raid成員 
mdadm -D -s > /etc/mdadm.conf  將所有的raid成員信息保存至mdadm.conf文件
mdadm -D -s /dev/md0 >> /etc/mdadm.conf 僅將md0的信處追加保存至mdadm.conf文件
mdadm -A /dev/md1  從/etc/mdadm.conf中讀取成員信息,并僅激活md1
mdadm -A -s  從/etc/mdadm.conf中讀取成員信息,并激活所有的raid

練習:
1:創建一個可用空間為1G的RAID1設備,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup目錄 /etc/fstab
#mdadm -C /dev/md2 -l 1 -n 2 -x 1 /dev/sdc{1,2,3}
#mkdir /mnt/backup
#vim /etc/fstab
/dev/md2                                 /mnt/backup              ext4    defaults        0 0

2:創建由三塊硬盤組成的可用空間為2G的RAID5設備,要求其chunk大小為256k,文件系統為ext4,開機可自動掛載至/mydata目錄
-n 3 -c 256k 
空間大小 3-1
#mdadm -C /dev/md3 -a yes -l 5 -n 3 -c 256k /dev/sda{10..12}
#mdadm -Ds > /etc/mdadm.conf 將顯示的信息導入文件中
#mkfs.ext4 /dev/md3
#mkdir /mydata
#vim /etc/fstab
/dev/md3                               /backup                    ext4    defaults        0 0

邏輯卷
/dev/dm-1 (1000) :0-900 /dev/sda1  (200-1100)
 901 1000   /dev/sda1 (1300-1400)

/dev/vg0/lv0  –> /dev/dm-0 

LVM(前提是已經創建過raid)
pvcreate /dev/md0p1 /dev/md1  創建pv,物理卷
pvremove /dev/md0p1
vgcreate vgmage26 /dev/md0p1 /dev/md1 創建vg,卷組
-s 8M 指定PE大小,默認4M
vgchange -s 8M 更改PE大小 #vgchange -s 8M  vgmage26 
vgreduce vgmage26 /dev/md1 在vg內移除pv
vgextend vgmage26 /dev/md1 在vgmage26下增加/擴展一個/dev/md1
vgremove vgmage26 刪除一個vg
lvcreat -l -n +邏輯卷名 創建邏輯卷 # lvcreate -l 10 -n lvmage26_01 vgmage26

        -L 指定大小
# mkfs.ext4 /dev/vgmage26/lvmage26_01 格式化
# mkdir /mnt/lvmage26_01
# mount /dev/vgmage26/lvmage26_01 /mnt/lvmage26_01/
# cd /mnt/lvmage26_01
# cp /etc/*.conf .

查看邏輯卷的剩余空間:
pvs 
pvs /dev/md0p1
pvdisplay
pvdisplay /dev/md0p1
vgs 
vgs vgmage26
vgdisplay
vgdislplay vgmage26

實驗:擴展邏輯卷
1.先檢查需要擴展的大小,VG是否有足夠可用空間 vgs;vgdislplay
如果不夠則  創建pv 擴展卷組
pvcreate /dev/md2
vgextend vgmage26 /dev/md2  
2.如足夠則擴展邏輯卷大小
lvextend -L 1G/+1G  /dev/vgmage26/lvmage26_01  # lvextend -L 500M /dev/vg 擴展到500M +500M是擴展到500M
lvextend -l +100%FREE /dev/vgmage26/lvmage26_01 它并沒有立即生效,需要把新擴展邏輯卷增加用到文件中才能
3.擴展文件系統大小
resize2fs /dev/vgmage26/lvmage26_01 

resize2fs /dev/vgmage26/lvmage26_01 500M 只增加到500M的文件系統,并格式化
如果是xfs文件系統 用xfs_growfs
xfs_growfs /dev/vg01/lv01

lvextend -L +500M -r /dev/vgmage26/lvmage26_01  可在lvextend 時加-r 直接一步到位,先擴展邏輯卷大小后直接增加文件系統大小

實驗:減小邏輯卷大小  僅支持Ext文件系統

1.umount  /mnt/lvmage26_01
2.e2fsck -f /dev/vgmage26/lvmage26_01 掃描修復
3.resize2fs /dev/vgmage26/lvmage26_01 300M
4.lvreduce -L 300M /dev/vgmage26/lvmage26_01
5.mount 
# mount /dev/vgmage26/lvmage26_01 /mnt/lvmage26_01/

實驗:將某塊盤從LVM中分離出來 
1.先確保數據不在這塊PV上
  用pvs查看
2.如果在這塊PV上,則將數據轉移到同卷組的其他PV上
 pvmove /dev/pv1名 /dev/pv2名(可以不指定)# pvmove /dev/md126p1 /dev/sdg 將所有數據移至/dev/sdg

3.將pv從Vg中移出
 vgreduce vg名 /dev/pv名 # vgreduce vgmage26 /dev/md126p1

4.刪除該盤的pv屬性   # pvremove vgmage26 /dev/md126p1

 pvremove /dev/pv名  
// 準備
 在添加一個2g的硬盤
# pvcreate /dev/sdg 創建pv
# vgcreate /dev/sdg 創建vg
# vgextend vgmage26 /dev/sdg 擴展
# pvs 查看數據在哪個pv上再進行如上操作

實驗:將LVM遷移到其他主機
1.將數據移到目標磁盤對應的PV上。(該磁盤不要有其他與該PV無關的分區)
pvmove /dev/pv1名 /dev/pv2名
vgreduce vg名 /dev/pv(多余)  移動除要移動的PV以外的其他PV 
        vgreduce vg02   /dev/md126p1 /dev/md127 

2.確保要遷移的VG名與目的系統沒有同名的VG
vgrename vgmage26 vg02
lvrename /dev/vg02/lvmage26_01 /dev/vg02/lv01 (非必須)

3.umount /mnt/lvmage26_01/

4.vgchange -an vg02 禁用VG上的所有LV 時vg成非激活狀態    1.# vgchange -ay vg02 vg為激活狀態

5.vgexport vg名 導出                                     1.#vgimport vg02取消被保護狀態 

關機(如果支持熱插排,則不用關機),拔硬盤,插到目標主機上。# poweroff centos6操作結束
復制新建2G硬盤的路徑,在centos7里邊添加現有硬盤在centos6里復制路徑查找,添加進去
在centos7中操作
6.lsblk 查看沒有更新  echo‘- – -’/sys/class/scsi_host/host2/scan

7.pvscan
  vgscan
  lvscan
  vgimport vg名
  vgchange -ay vg名

8.vgimport vg02 看導入成功沒

9.mount /dev/vg名/lv名 /mnt/
 #mount /dev/vg02/lv01  /mnt/lv02
 #cd /mnt/lv02 查看數據是否成功遷移

LVM快照

lvcreate -L 10M -n lvmage-snap -s /dev/vgmage/lvmage  創建快照
lvcreate -L 10M -n lvmage-snap -s -p r /dev/vgmage/lvmage  創建只讀快照 
lvremove /dev/vgmage/lvmage-snap  刪除快照
lvextend -L +300M/300M /dev/vgmage/lvmage-snap  快照擴展

使用快照恢復源邏輯卷
umount 源和快照
lvconvert –merge 快照名  (該操作成功會刪除快照)
mount 源

對有快照的邏輯卷進行擴展
1.umount 源和快照
2.lvchange -an 源 將源及快照設置為inactive
3.lvextend -L -r 200M 源名字 (-r不一定能用)
4.e2fsck -f 掃描
5.resize2fs/xfs_growfs  …

建議,直接刪除快照,可以在線擴展邏輯卷,最后重建快照

sed

-n:不輸出模式空間內容到屏幕,即不自動打印
-e: 多點編輯,對每行處理時,可以有多個Script 
-f: 把Script寫到文件當中,在執行sed時-f 指定文件路徑,如果是多個Script,換行寫
-r: 支持擴展的正則表達式
-i: 直接將處理的結果寫入文件
-i文件名  在將處理的結果寫入文件之前備份一份

script

地址定界:
(1) 不給地址:對全文進行處理
sed -n ‘p’ 文件
(2) 單地址:

: 指定的行

sed -n ‘2p’ 文件
/pattern/:被此處模式所能夠匹配到的每一行
sed -n ‘/linux/p’文件
(3) 地址范圍:

,#

sed -n ‘2,3p’

,+#

sed -n ‘2,+1p’
/pat1/,/pat2/
sed -n ‘/redhat/,/linux/p’

,/pat1/

sed -n ‘2,/linux/p’
(4) ~:步進
sed -n ‘1~2p’  只打印奇數行
sed -n ‘2~2p’  只打印偶數行

編輯命令

d: 刪除模式空間匹配的行,并立即啟用下一輪循環
sed ‘2d’ pets
p:打印當前模式空間內容,追加到默認輸出之后
sed ‘2p’ pets
a []text:在指定行后面追加文本,支持使用\n實現多行追加
sed ‘2a\123\n456\n789’ pets
i []text:在行前面插入文本
sed ‘2i\123\n456\n789’ pets
c []text:替換行為單行或多行文本
sed ‘2c\123\n456\n789’ pets
w /path/somefile: 保存模式匹配的行至指定文件
sed -n ‘3w /root/3.file’ pets
r /path/somefile:讀取指定文件的文本至模式空間中匹配到的行后
sed ‘3r /root/mage.txt’ pets
=: 為模式空間中的行打印行號
sed ‘=’ pets.bak 
!:模式空間中匹配行取反處理
sed -n ‘2!p’ pets

s///:查找替換,支持使用其它分隔符,s@@@,s###替換標記:
g: 行內全局替換
sed ‘s/dog/cat/g’ pets

1、刪除/etc/fstab文件中所有以#開頭,后面至少跟一個空
白字符的行的行首的#和空白字符
sed -r “/^#[[:space:]]/s/^#[[:space:]]+([^[:space:]])/\1/” fstab
sed -r ‘s/^#[[:space:]]+//’ fstab

raid,lvm,及sed命令的相關使用總結

3、在centos6系統/root/install.log每一行行首增加#號

sed ‘s/^/#/g’ /root/install.log

raid,lvm,及sed命令的相關使用總結

4、在/etc/fstab文件中不以#開頭的行的行首增加#號
cat /etc/fstab |sed  ‘s/^[^#]/#&/’
raid,lvm,及sed命令的相關使用總結
5、處理/etc/fstab路徑,使用sed命令取出其目錄名和基名

echo /etc/sysconfig/network-scripts/ |sed -r  ‘s#(^/.*/)([^/].*/?$)#a:\1\nb:\2#’

raid,lvm,及sed命令的相關使用總結

6、利用sed 取出ifconfig命令中本機的IPv4地址

ifconfig eth0 |sed -n ‘2p’ |sed ‘s#^.addr:##g’ |sed ‘s#  Bcas.$##g’
ifconfig eth0 |sed  -n -e  ‘2s#^.addr:##g’ -e ‘s#  Bcas.$##gp’
raid,lvm,及sed命令的相關使用總結
sed -n ‘n;p’ FILE  顯示偶數行
sed ‘1!G;h;$!d’ FILE  倒序顯示
sed -n ‘1!G;h;$p’ 倒序顯示
seq 7 |sed ‘n;d’ 顯示奇數
sed  ‘N;D’ 顯示最后一行
sed ‘$!d’  顯示最后一行
sed ‘G’  每行之間加空行  
sed ‘g’  把每行內容替換成空行
sed ‘/^$/d;G’  確保每一行下面都有一個空行

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

(0)
MOMOMOMO
上一篇 2017-08-26
下一篇 2017-08-26

相關推薦

  • Apache、nginx 、lighttpd性能比較

    1. web服務器簡介 1. lighttpd      Lighttpd是一個德國人領導的開源軟件,其根本的目的是提供一個專門針對高性能網站,安全、快速、兼容性好并且靈活的Web server環境         Lighttpd是一個具有非常低的…

    Linux干貨 2015-04-10
  •  編譯安裝步驟     大致過程:(源代碼–預處理–編譯–匯編–鏈接–執行)   第一步 下載安裝開發工具“Development toos” 第二步 下載解壓源代碼包 仔細閱讀“Install和 Read me” 第三步 使用./conf…

    Linux干貨 2017-04-24
  • 計算機組成原理

                                 計算機組成原理 Linux 操作系統是UNIX 操作系統的一種克隆系統。它誕生于1991 年的10 月5 日(這是第一次正式向外公布的時間)。以后借助于…

    Linux干貨 2016-10-27
  • 根DNS域名解析的實現

    一、實現從根,com,rj.com 模擬互聯網的DNS架構 DNS(Domain Name System,域名系統),因特網上作為域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。 接下來就一起開始搭建吧 首先,我們需要計劃好實驗環境,包括實驗的步驟思路 1)實驗環境(最好是畫圖展示,能使思路清…

    2015-02-10
  • 制作自動化安裝的啟動U盤

    制作自動化安裝的啟動U盤 準備: CentOS 6.8 系統、CentOS-6.8-x86_64-bin-DVD1.iso光盤、U盤、centos-6-x86_64(kickstart文件) mkdir /mnt/myiso  創建目錄,創建安裝樹 查看光盤的掛載點 cp -r /media/CentOS_6.8_Final/isolinux/ &…

    2017-04-05
  • 六步建立yum倉庫

    建立yum倉庫

    Linux干貨 2018-03-26
欧美性久久久久