Linux 第七週學習筆記系統分區管理,lvm管理


.diff命令linux

difffile file1        ##比較兩個文件的不一樣vim

-c                    ##顯示周圍的行bash

-u                    ##按照一個格式統一輸出生成補丁app

-r                    ##比較兩個目錄中文件的不一樣ide

 

patchfile file.path   ##打補丁ui

-b                    ##備份文件this

.grep過濾命令加密

grep關鍵字文件|目錄##在文件或目錄中查找含有關鍵字的行spa

-i                    ##忽略大小寫3d

-n                    ##顯示關鍵字所在行

-c                    ##顯示過濾結果的個數

-v                    ##反向過濾

-E   「關鍵字1|關鍵字2「    ##過濾多個關鍵字

-r    目錄            ##在目錄中查找含有關鍵字的文件

注意事項:

^關鍵字            ##以關鍵字開頭

關鍵字$            ##以關鍵字結尾

 

.cut命令

cut                         ##截取字符

cut    -d    分隔符         ##指定分隔符

cut    -f    1,7            ##顯示指定列

cut    -c    1-4            ##顯示指定的字符

 

.sort排序命令

sort    參數

        -n        ##純數字排序

        -u        ##去除重複的

        |uniq -c  ##去除重複的而且統計重複的次數

        -t        ##指定分隔符

        -k        ##指定列

.uniq命令

sort file |uniq -c ##去除重複的而且統計重複的次數

        -d        ##顯示重複的行

        -u        ##顯示惟一的行


.sed命令

sed     's/原字符/替換字符/g'    file        ##表示在file文件全文中的某字符替換成令爲一個字符

sed    -e '策略1' -e '策略2'     file        ##-e表示多個動做用一條命令進行

sed    -i    file                            ##把轉換後的內容輸入到指定文件

sed    '3,5s/原字符/替換字符/g'              ##3到5行替換

sed    xd                                    ##屏蔽指定行,x表示行數

sed    xp                                    ##複製指定行

sed    -nxp                                  ##只顯示指定行

 

.for do done循環語句

循環顯示某個目錄的全部文件名稱

例如:

for FRUIT in apple banana pear;

do echo "I like $FRUIT" ;

done;

解釋:FRUIT是一個循環變量,第一次循環$FRUIT的取值是apple,第二次取值banana,第三次取值取pear,最後依次輸出結果

 

.管理系統存儲

1.分區的劃分

[root@localhost ~]# fdisk /dev/vdb

Welcome to fdisk (util-linux 2.23.2).

 

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

 

Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0xde2836d8.

 

Command (m for help): m                            ##幫助

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition                          ##刪除分區表

   g   create a new empty GPT partition table

   G   create an IRIX (SGI) partition table

   l   list known partition types                  ##列出系統可用分區類型

   m   print this menu

   n   add a new partition                            ##新建分區

   o   create a new empty DOS partition table

   p   print the partition table                    ##顯示分區

   q   quit without saving changes                    ##退出不保存

   s   create a new empty Sun disklabel

   t   change a partition's system id                    ##修改分區功能id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit                        ##保存更改到分區表中

   x   extra functionality (experts only)

Command (m for help): n

Partition type:

   p   primary (0 primary, 0 extended, 4 free)              ##分區類型p爲主分區

   e   extended##分區類型爲擴展分區

Select (default p): p                                        ##默認主分區

Partition number (1-4, default 1): ##主分區id

First sector (2048-20971519, default 2048):                 ##此分區的起始位置

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M         ##分配分區大小

Partition 1 of type Linux and of size 200 MiB is set

 

Command (m for help): wq                                        ##保存退出

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

[root@localhost ~]# partprobe                                     ##同步分區表

 

查看分區狀況

fdisk -l 命令

[root@localhost ~]# fdisk -l

 

Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x00013f3e

 

   Device Boot      Start         End      Blocks   Id  System

/dev/vda1   *        2048    20970332    10484142+  83  Linux

【強調說明,上面以行的*號是指的是開機最早讀取的446字節】

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0xde2836d8

 

   Device Boot      Start         End      Blocks   Id  System

/dev/vdb1            2048      411647      204800   83  Linux

     ||               ||           ||         ||    ||     ||

引導設備分區起始位置   終止位置    分區大小 id   文件系統類型

 

 

2.分區的掛載

[root@localhost ~]# blkid                                 ##查看系統可識別,可用分區

/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"

 

添加掛載 mount /dev/vdb1 /mnt/

mount: /dev/vdb1 is write-protected, mounting read-only

mount: unknown filesystem type '(null)'

[root@localhost ~]# mkfs.xfs /dev/vdb1                            ##將vdb1按照xfs文件系統類型格式化

meta-data=/dev/vdb1              isize=256    agcount=4, agsize=12800 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=0

data     =                       bsize=4096   blocks=51200, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=0

log      =internal log           bsize=4096   blocks=853, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

將分區按照xfs文件系統格式化後,vdb1分區就能夠被系統所用

[root@localhost ~]# blkid

/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"

/dev/vdb1: UUID="1270e1f2-e607-46de-acc9-5c05cd4692df" TYPE="xfs"

 

3.查看系統能識別的分區

[root@localhost ~]# cat /proc/partitions

major minor  #blocks  name

 

 253        0   10485760 vda

 253        1   10484142 vda1

 253       16   10485760 vdb

 253       17     204800 vdb1

 

4.swap分區的管理

在實驗中,我新建了一個/dev/vdb2分區,做爲swap分區的實驗材料

swapon -s##查看系統中的swap分區

創建swap分區

mkswap/dev/vdb2###把/dev/vdb1格式化成swap格式

swapon -a /dev/vdb2##激活

vim /etc/fstab##開機自動激活

/dev/vdb2swapswapdefautls0 0

實驗結果:

[root@localhost ~]# swapon -s

FilenameTypeSizeUsedPriority

/dev/vdb2                              partition2047960-1

5.開機自動掛載

vim /etc/fstab##開機自動激活

/dev/vdb1swapswapdefautls0 0

 

############################################################################

.磁盤加密

fdisk /dev/vdb                           #添加磁盤

partprobe                                #同步磁盤信息

df#查看掛載

cat /proc/partitions

cryptsetup luksFormat /dev/vdb1            #設置加密密碼

#mima:123westos

cryptsetup open /dev/vdb1 westos           ##打開磁盤加密層

mkfs.xfs /dev/mapper/westos                #格式化

mount /dev/mapper/westos /mnt/             #掛載文件,到mnt下

cryptsetup close westos                    #關閉這個加密層

      

 

#######開機自動掛載磁盤加密##(永久)##########

 

vim /etc/crypttab    ##打開配置文件添加參數

解密後設備管理文件設備加密字符存在文件

redhat/dev/vdb1/root/lukspsfile

vim /root/lukspsfile                    ##寫入加密文件的密碼

chmod 600 /root/lukspsfile##設置權限;只有超級用戶才能夠看到

cryptsetup luksAddKey /dev/vdb1 /root/lukspsfile         ##將vbd1與文件lukspsfile關聯其起來

 

vim /etc/fstab   #添加開機啓動腳本:

/dev/mapper/redhat /mnt xfs defaults 0 0

最後reboot

#######加密清除############

vim /etc/fstab                 #清除以前添加的內容

> /etc/crypttab                #清空文件內容

umount /mnt/                   #把/mnt/卸載掉

cryptsetup close redhat     #關閉加密

mkfs.xfs  /dev/vdb1         #將vdb1格式化

 

 

#### Raid磁盤陣列#######

fdisk /dev/vbd               ##添加三個大小相同的磁盤,將文件系統類型改爲Linux raid(fd)

mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}

說明:表示添加陣列

-C    表示建立, /dev/md0

-a    表示在若是md0不存在的狀況下建立md0, yes

-l    表示級別 1級

-n    表示添加工做的磁盤,2個

-x    表示閒置的磁盤 ,1個,(當工做的兩個磁盤之一出現故障,當即啓動閒置磁盤工做)

最後工做的磁盤

監控命令:watch -n 1 cat /proc/mdstat

###############

mdadm -f /dev/md0 /dev/vdb1        ##手動破壞設備

mdadm -D /dev/md0                    ##設備配置信息

mdadm /dev/md0-f /dev/vdb1            ##損壞設備1

mdadm /dev/md0 -r /dev/vdb1             ##移除設備1

mdadm /dev/md0 -a /dev/vdb1            ##恢復設備1

mdadm -S /dev/md0                        #中止設備

 

#####lvm 管理########

1.lvm名詞解釋

lvm邏輯卷,可讓設備自由伸縮的一個設備管理軟件

pv物理卷

vg物理卷組

pe物理拓展,lvm最小的存儲單元

lvm邏輯卷,時最終咱們使用的能夠伸縮的設備

2.lvm的製做

fdisk  /dev/vdb

建立兩個文件系統類型爲lvm的分區(8e)

監控命令: watch -n 1 'echo "= pvinfo =";pvs; echo "= vginfo =";vgs;echo "= lvinfo =" ; lvs ; echo "= - =";df -h /mnt '

3.lvm的創建

fdisk /dev/vdb

partprobe

fdisk -l

pvcreate /dev/vdb1              #建立物理卷

vgcreate westos /dev/vdb1       #添加物理卷組爲westos

lvcreate -L 50M -n lv0 westos   #從westos組中取出一個名字爲lv0,大小爲50M的內存

mkfs.xfs /dev/westos/lv0       #格式化

mount /dev/westos/lv0 /mnt/     #lv0 掛載到 /mnt

 

4.lvm設備的擴大

lvextend -L 90M /dev/westos/lv0                 #將lv0擴展到90M

xfs_growfs /dev/westos/lv0                      #擴展文件系統

pvcreate /dev/vdb2#添加新的pv

vgextend westos /dev/vdb2#擴展分區組

lvextend -L 188M /dev/westos/lv0                 #擴展lv

xfs_growfs /dev/westos/lv0                         #擴展文件系統

5.縮減lvm文件系統

xfs文件系統不支持縮減,將xfs格式化爲ext4

縮減內存不支持在線縮減,因此必須卸載後在進行縮減

umount /mnt

mkfs.ext4 /dev/westos/lv0                        ##按照ext格式化

e2fsck -f /dev/westos/lv0                        ##檢測lv0文件

resize2fs /dev/westos/lv0 77M                    ##縮減lv0到77M

lvreduce -L 77M /dev/westos/lv0 

pvmove /dev/vdb1 /dev/vdb2

vgreduce westos /dev/vdb1

pvremove /dev/vdb1

 

 

建立快照

umount /mnt/

lvcreate -L 10M -n lv0-backup -s /dev/westos/lv0

mount /dev/westos/lv0-backup  /mnt/

刪除全部記錄

umount /mnt/

lvremove /dev/westos/lv0-backup

lvremove /dev/westos/lv0

vgremove westos

pvremove /dev/vdb2

pvs

pvremove /dev/vdb1

pvs

用腳本實現磁盤的添加

vim test.sh

在裏面填寫

#!/bin/bash

fdisk /dev/vdb << end

n

【空格,表示取默認值】

 【空格,表示取默認值】

【空格,表示取默認值】

+1G

wq

end

最後運行腳本文件

sh test.sh

c查看結果

fdisk -l

相關文章
相關標籤/搜索