磁盤管理

df命令

用法:df 彙報文件系統磁盤空間的使用狀況

[root@localhost ~]# df
文件系統          1K-塊    已用     可用 已用% 掛載點
/dev/sda3      18658304 1130452 17527852    7% /
devtmpfs         490164       0   490164    0% /dev
tmpfs            499968       0   499968    0% /dev/shm
tmpfs            499968    6804   493164    2% /run
tmpfs            499968       0   499968    0% /sys/fs/cgroup
/dev/sda1        201380  111440    89940   56% /boot
tmpfs             99996       0    99996    0% /run/user/0

df -h 能夠更人性化的顯示磁盤空間大小

[root@localhost ~]# df -h
文件系統        容量  已用  可用 已用% 掛載點
/dev/sda3        18G  1.1G   17G    7% /
devtmpfs        479M     0  479M    0% /dev
tmpfs           489M     0  489M    0% /dev/shm
tmpfs           489M  6.7M  482M    2% /run
tmpfs           489M     0  489M    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs            98M     0   98M    0% /run/user/0
  • 只要是帶tmpfs字眼的文件系統都是臨時的文件系統,若是在這裏面寫了東西,重啓以後就會消失。html

  • 須要關注的是/dev/的文件系統node

  • 查看內存和虛擬內存的方法:freelinux

[root@aming1 ~]# free
              total        used        free      shared  buff/cache   available
Mem:         999936      111756      730560        6836      157620      717696
Swap:       2097148           0     2097148
[root@aming1 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           976M        109M        713M        6.7M        153M        700M
Swap:          2.0G          0B        2.0G

df -i 查看inode 使用量

  • 若是inode寫滿了,磁盤空間還有剩餘空間的話也是不能寫入了。
[root@localhost ~]# df -i
文件系統         Inode 已用(I) 可用(I) 已用(I)% 掛載點
/dev/sda3      9334272   27933 9306339       1% /
devtmpfs        122541     377  122164       1% /dev
tmpfs           124992       1  124991       1% /dev/shm
tmpfs           124992     444  124548       1% /run
tmpfs           124992      16  124976       1% /sys/fs/cgroup
/dev/sda1       102400     330  102070       1% /boot
tmpfs           124992       1  124991       1% /run/user/0

du 查看文件大小

用法:du -sh

  • 之因此加 -sh 是若是不加的話得不到想要的結果,以下:
[root@aming1 ~]# du 111/
0	111/222/333
0	111/222
0	111/
[root@aming1 ~]# du -s
64	.
[root@aming1 ~]# du -sh
64K	.
  • 還有就是ls 查看的大小與du查看的大小是不同的windows

  • 這裏面涉及到塊的概念。ls查詢的是實際大小,du 查看的是佔用空間。安全

[root@aming1 ~]# ls -lh anaconda-ks.cfg 
-rw-------. 1 root root 1.4K 3月  17 19:03 anaconda-ks.cfg
[root@aming1 ~]# du -sh anaconda-ks.cfg 
4.0K	anaconda-ks.cfg

磁盤分區格式化的時候會分給每一個塊的大小是4k,這個大小是能夠調整的,默認是4k 。即便一個文件的大小不足4k,可是也要存放到塊裏,佔用了一個塊,因此實際1.4k大小的文件,佔用了4k的空間。bash


fdisk磁盤分區

首先添加一塊磁盤

  • 服務器上面磁盤是支持熱插拔的。直接插上新加的硬盤就能夠了。服務器

  • 可是在虛擬機上須要關機加磁盤,在開機,否則沒法識別。網絡

  • 虛擬機能夠直接添加(虛擬機》設置》硬盤》添加,而後一路下一步)app

輸入圖片說明

添加好後fdisk -l 命令 查看系統磁盤

[root@aming1 ~]# fdisk -l

磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節


磁盤 /dev/sda:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x000c93ac

   設備 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     4605951     2097152   82  Linux swap / Solaris
/dev/sda3         4605952    41943039    18668544   83  Linux

能夠看到增長了一個sdb 有20G的空間async

fdisk /dev/sdb 劃分分區

fdisk後面跟硬盤路徑,在虛擬機裏面是/dev/sdb,在其餘設備可能不是。

[root@aming1 ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。

Device does not contain a recognized partition table
使用磁盤標識符 0x421577a6 建立新的 DOS 磁盤標籤。

命令(輸入 m 獲取幫助):

按下m

命令(輸入 m 獲取幫助):m   
命令操做
   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
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

經常使用選項:

  • n :增長一個新的分區

  • p :列出分區

  • w :保存

  • d :刪除

首先 p 列出分區

命令(輸入 m 獲取幫助):p

磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x421577a6

   設備 Boot      Start         End      Blocks   Id  System

而後 n 增長一個分區

  • 按n以後會出現選擇分區類型,p 是主分區,e是擴展分區

fdisk分區工具,它的分區格式爲MBR,特色是,最多分4個主分區,磁盤大小不能超過2T。若是想要多個分區,只能分擴展分區,而後在擴展分區裏面劃分邏輯分區。

命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
  • 先選擇p 主分區,分兩個G得空間,以下操做。
Select (default p): p
分區號 (1-4,默認 1):1
起始 扇區 (2048-41943039,默認爲 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認爲 41943039):+2G   
分區 1 已設置爲 Linux 類型,大小設爲 2 GiB
  • 以後p 列出分區,能夠看到分好了
命令(輸入 m 獲取幫助):p

磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x22016dd4

   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
  • 若是分了四個主分區以後就不能夠在分區了,下面看一下
命令(輸入 m 獲取幫助):p

磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x8ef30a04

   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    16779263     3145728   83  Linux

命令(輸入 m 獲取幫助):n
If you want to create more than four partitions, you must replace a
primary partition with an extended partition first.
  • 刪除一個主分區,在分配一個10個G的擴展分區
命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e
已選擇分區 4
起始 扇區 (12584960-41943039,默認爲 12584960):
將使用默認值 12584960
Last 扇區, +扇區 or +size{K,M,G} (12584960-41943039,默認爲 41943039):+10G
分區 4 已設置爲 Extended 類型,大小設爲 10 GiB

命令(輸入 m 獲取幫助):p

磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0xe38cbaff

   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352    10487807     3145728   83  Linux
/dev/sdb3        10487808    12584959     1048576   83  Linux
/dev/sdb4        12584960    33556479    10485760    5  Extended

邏輯分區的添加

邏輯分區是在擴展分區裏面在進行分區的,能夠分不少。因此邏輯分區的大小不能超過擴展分區。

  • 添加第一個邏輯分區
命令(輸入 m 獲取幫助):n
All primary partitions are in use
添加邏輯分區 5
起始 扇區 (12587008-33556479,默認爲 12587008):
將使用默認值 12587008
Last 扇區, +扇區 or +size{K,M,G} (12587008-33556479,默認爲 33556479):+2G
分區 5 已設置爲 Linux 類型,大小設爲 2 GiB

命令(輸入 m 獲取幫助):p

磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0xe38cbaff

   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352    10487807     3145728   83  Linux
/dev/sdb3        10487808    12584959     1048576   83  Linux
/dev/sdb4        12584960    33556479    10485760    5  Extended
/dev/sdb5        12587008    16781311     2097152   83  Linux
  • 若是主分區有空餘,而且有擴展分區的狀況下。在進行分區的時候會提示是要分主分區,仍是要分邏輯分區
- 命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (2 primary, 1 extended, 1 free)
   l   logical (numbered from 5)

d 刪除一個分區

  • 刪除1分區
命令(輸入 m 獲取幫助):d
分區號 (1-4,默認 4):4
分區 4 已刪除
  • p查看下分區列表,已經沒有1分區了。
命令(輸入 m 獲取幫助):p

磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x8ef30a04

   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        12584960    33556479    10485760    5  Extended
/dev/sdb5        12587008    16781311     2097152   83  Linux
/dev/sdb6        16783360    20977663     2097152   83  Linux
  • 刪除邏輯分區5

結果發現,邏輯分區6沒了,5還在,仔細看以前的分區6變成了分區5。5已經被刪除了。

命令(輸入 m 獲取幫助):d
分區號 (1-6,默認 6):5
分區 5 已刪除

命令(輸入 m 獲取幫助):p

磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0xe38cbaff

   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb2         4196352    10487807     3145728   83  Linux
/dev/sdb3        10487808    12584959     1048576   83  Linux
/dev/sdb4        12584960    33556479    10485760    5  Extended
/dev/sdb5        16783360    20977663     2097152   83  Linux

w 保存操做

  • w ,保存後退出
命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@aming1 ~]#

parted分區gpt格式

上面學習了fdisk分區工具,它的分區格式爲MBR,特色是,最多分4個主分區,磁盤大小不能超過2T。而GPT分區格式,突破了這些限制,它沒有主分區、擴展分區、邏輯分區之分,在一塊磁盤上最多能夠分128個分區出來,支持大於2T的分區,最大卷可達18EB。 相信,隨着存儲級別的升級,未來的分區格式逐漸會淘汰MBR,而GPT成爲主流。

  • 在命令行輸入parted後,進入parted命令的交互模式。輸入help會顯示幫助信息。
[root@aming1 ~]# parted
GNU Parted 3.1
使用 /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help                                                             
  align-check TYPE N                        check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  name NUMBER NAME                         name partition NUMBER as NAME
  print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all found partitions, or a particular partition
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information of GNU Parted
(parted)

用法:

1,將磁盤上原有的分區刪除掉:

  • 進入:# parted /dev/sdb

查看:(parted)p

刪除:(parted)rm 1

[root@aming1 ~]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type      File system  標誌
 2      2149MB  5370MB  3221MB  primary
 3      5370MB  6443MB  1074MB  primary
 4      6443MB  17.2GB  10.7GB  extended
 5      8593MB  10.7GB  2147MB  logical

(parted) rm 2                                                             
(parted) rm 3                                                             
(parted) rm 4                                                             
(parted) rm 5                                                             
錯誤: 分區不存在。
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start  End  Size  Type  File system  標誌

2,將磁盤格式變成gpt的格式(由於parted只能針對gpt格式的磁盤進行操做)

  • 轉換:(parted) mklabel gpt
(parted) mklabel gpt                                                      
警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
是/Yes/否/No? yes
  • 分區:(parted) mkpart primary 1 500 (分第一個主分區500MB)
(parted) mkpart primary 1 500                                             
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size   File system  Name     標誌
 1      1049kB  500MB  499MB               primary

(parted)
  • 分區:(parted) mkpart primary 501 1000 (分第二個主分區500MB)
(parted) mkpart primary 501 1000
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size   File system  Name     標誌
 1      1049kB  500MB   499MB               primary
 2      501MB   1000MB  499MB               primary
  • 分區:(parted) mkpart logical 1001 2000 (分第三個邏輯分區1000MB) (parted的邏輯分區不用先分擴展分區,直接一步到位)
(parted) mkpart logical 1001 2000
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size   File system  Name     標誌
 1      1049kB  500MB   499MB               primary
 2      501MB   1000MB  499MB               primary
 3      1001MB  2000MB  998MB               logical
  • 查看:(parted) p

  • 退出:(parted)quit ( parted分區自動保存,不用手動保存 )


磁盤格式化

  • 首先看一下CentOS7支持那些磁盤格式:cat /etc/filesystems
[root@aming1 ~]# cat /etc/filesystems                                     
xfs
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*
[root@aming1 ~]#
  • xfs是centOS7的默認文件系統。在centOS6以及之前的系統使用的是ext的文件系統。

  • 能夠用 mount 命令查看目前磁盤的文件系統(會出來不少,主要看倒數第二行)

[root@aming1 ~]# mount


debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)                   ----------------------------------------------------主要看這行-------------------
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=99996k,mode=700)

磁盤格式化命令:mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs

這幾個命令的做用都是同樣的。mke2fs -t ext2/3/4等於mkfs.ext2, mkfs.ext3, mkfs.ext4, 若是想格成xfs格式只能用mkfs.xfs來格,系統不支持mke2fs -t xfs。

mke2fs 用法

  • -t :指定文件系統類型。
  • -b :分區時設定塊大小。能夠後面跟指定 1024B ,2048B,4096B
  • -m : 更改磁盤預留boot空間大小(通常默認預留5%,磁盤空間越大,越浪費)
  • -i : 指定"字節/inode"的比例

-t :指定文件系統類型。

[root@localhost ~]# mke2fs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系統標籤=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912

Allocating group tables: 完成                            
正在寫入inode表: 完成                            
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

-b :分區時設定塊大小。能夠後面跟指定 1024B ,2048B,4096B

[root@localhost ~]# mke2fs -b 8192 /dev/sdb1
Warning: blocksize 8192 not usable on most systems.
mke2fs 1.42.9 (28-Dec-2013)
mke2fs: 8192-byte blocks too big for system (max 4096)
不管如何也要繼續? (y,n) y
Warning: 8192-byte blocks too big for system (max 4096), forced to continue
warning: 32 blocks unused.

文件系統標籤=
OS type: Linux
塊大小=8192 (log=3)
分塊大小=8192 (log=3)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 262112 blocks
13105 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=268402688
4 block groups
65528 blocks per group, 65528 fragments per group
32768 inodes per group
Superblock backups stored on blocks: 
65528, 196584

Allocating group tables: 完成                            
正在寫入inode表: 完成                            
Writing superblocks and filesystem accounting information: 完成

-m : 更改磁盤預留boot空間大小(通常默認預留5%,磁盤空間越大,越浪費)

[root@localhost ~]# mke2fs -m 0.1 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系統標籤=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
524 blocks (0.10%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912

Allocating group tables: 完成                            
正在寫入inode表: 完成                            
Writing superblocks and filesystem accounting information: 完成 

[root@localhost ~]#

-i : 指定"字節/inode"的比例 (inode會變多)

[root@localhost ~]# mke2fs -i 8192 -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系統標籤=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
262144 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912

Allocating group tables: 完成                            
正在寫入inode表: 完成                            
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

[root@localhost ~]#
  • blkid 查看尚未掛載的磁盤,查看UUID
[root@aming1 ~]# blkid
/dev/sdb1: PARTLABEL="primary" PARTUUID="7c0640c1-40d5-489a-987f-4f61ffcb3e2d" 
/dev/sdb2: PARTLABEL="primary" PARTUUID="cce11e2d-b1cf-42e5-aab3-d90cf838aa4c" 
/dev/sdb3: PARTLABEL="logical" PARTUUID="56a37982-891f-4dd1-b5c3-21d97d1fc8e3" 
/dev/sda1: UUID="404e395a-be3a-4061-8ad0-e32e271a0679" TYPE="xfs" 
/dev/sda2: UUID="0932d791-1484-41bc-972b-71091c2c6410" TYPE="swap" 
/dev/sda3: UUID="475a482e-19df-4629-abaf-6b989d1572ba" TYPE="xfs"
  • mkfs.xfs 沒用什麼特殊用法,後面直接跟分區就能夠了。

  • 磁盤有沒有分區均可以直接格式化!


磁盤掛載

用法:mount 須要掛在的路徑 掛載點

  • mount /dev/sdb 掛載點mount /dev/sdb 掛載點
[root@localhost ~]# df -h
文件系統        容量  已用  可用 已用% 掛載點
/dev/sda3        18G  1.1G   17G    7% /
devtmpfs        479M     0  479M    0% /dev
tmpfs           489M     0  489M    0% /dev/shm
tmpfs           489M  6.7M  482M    2% /run
tmpfs           489M     0  489M    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs            98M     0   98M    0% /run/user/0
[root@localhost ~]# mount /dev/sdb1 /mnt/
[root@localhost ~]# df -h
文件系統        容量  已用  可用 已用% 掛載點
/dev/sda3        18G  1.1G   17G    7% /
devtmpfs        479M     0  479M    0% /dev
tmpfs           489M     0  489M    0% /dev/shm
tmpfs           489M  6.7M  482M    2% /run
tmpfs           489M     0  489M    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs            98M     0   98M    0% /run/user/0
/dev/sdb1       1.9G  6.0M  1.8G    1% /mnt

能夠看到最後一行已經有sdb1了。

掛載磁盤的卸載 umount /dev/sdb1

[root@localhost ~]# mount /dev/sdb1 /mnt/
[root@localhost ~]# umount /dev/sdb1

若是提示目標忙,加 -l 參數

mount 選項

  • mount -t 類型 -o 掛接方式 源路徑 目標路徑
-t 詳細選項:



         光盤或光盤鏡像:iso9660

         DOS fat16文件系統:msdos

         Windows 9x fat32文件系統:vfat

         Windows NT ntfs文件系統:ntfs

         Mount Windows文件網絡共享:smbfs(需內核支持)推薦cifs

         UNIX(LINUX) 文件網絡共享:nfs



   -o 詳細選項:



        loop :用來把一個文件當成硬盤分區掛接上系統

        ro :採用只讀方式掛接設備

        rw :採用讀寫方式掛接設備

        iocharset :指定訪問文件系統所用字符集,例如iocharset=utf8

        remount :從新掛載



使用實例:



   掛載windows文件共享:



         mount -t smbfs -o username=admin,password=888888 //192.168.1.2/c$ /mnt/samba

         mount -t cifs -o username=xxx,password=xxx //IP/sharename /mnt/dirname



   掛載Linux文件nfs共享:



         mount -t nfs -o rw 192.168.1.2:/usr/www /usr/www



   掛載ISO鏡像:



         mount -o loop -t iso9660 /usr/mydisk.iso /home/ping.bao/cd



   掛載USB移動硬盤:



         mount -t ntfs /dev/sdc1 /root/usb



   掛載CDROM:



         mount /dev/cdrom /home/ping.bao/cd



   取消掛載:



         umount /dev/cdrom /home/ping.bao/cd



   單用戶模式從新掛載根分區:



         mount -o remount,rw /
  • ro : 表示按只讀掛在權限
  • rw :表示按可讀可寫權限掛載
  • async/sync : async表示與磁盤和內存不一樣步,系統每隔一段時間就會把內存數據寫入磁盤中,而sync則會時時同步內存和磁盤中的數據。
  • t : 指定分區類型
  • user/nouser : 表示容許/不容許root外其餘的用戶掛載分區,爲了安全,使用nouser。

vi /etc/fstab 這個文件是系統啓動都掛載了那些磁盤,都寫在這個配置文件裏裏面。

  • 能夠本身手動添加。
[root@localhost ~]# vi /etc/fstab 


#
# /etc/fstab
# Created by anaconda on Mon Aug 14 23:56:24 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=58f4e3c9-b84f-4689-be51-3396d2231926 /                       xfs     defaults        0 0
UUID=4203cad2-52e1-4a3a-9dd6-2f7e78c28805 /boot                   xfs     defaults        0 0
UUID=9877b5cd-7fed-450f-9153-1ee3ec839d77 swap                    swap    defaults        0 0
/dev/sdb1                                  /mnt                   ext4    defaults        0 0

手動增長swap空間

首先虛擬一些空間 dd if=/dev/zero of=/tmp/newdisk bs=1M count=100

[root@localhost ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
記錄了100+0 的讀入
記錄了100+0 的寫出
104857600字節(105 MB)已複製,0.978038 秒,107 MB/秒
  • dd :是用來操做磁盤的
  • if :指定去哪裏讀
  • /dev/zero :linux能夠調用無限大的zero
  • of : 寫入到哪裏去
  • bs : 塊大小
  • count=100 : 就是100個塊

查看調取的空間

[root@localhost ~]# du -sh /tmp/newdisk 
100M	/tmp/newdisk

用mkswap格式化

[root@localhost ~]# mkswap -f /tmp/newdisk 
正在設置交換空間版本 1,大小 = 102396 KiB
無標籤,UUID=3522cba1-6012-4596-a8d1-bb38a47a5dd2
[root@localhost ~]#

以後把空間加到swap裏面

  • 先查看swap空間大小
root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            976         108         603           6         264         690
Swap:          2047           0        2047
  • swapon /tmp/newdisk 把空間加載到現有磁盤空間去
[root@localhost ~]# swapon /tmp/newdisk
swapon: /tmp/newdisk:不安全的權限 0644,建議使用 0600。
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            976         108         603           6         264         690
Swap:          2147           0        2147
[root@localhost ~]#
  • swapoff /tmp/newdisk 把空間卸載掉
[root@localhost ~]# swapoff /tmp/newdisk
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            976         108         603           6         264         690
Swap:          2047           0        2047

dd工具使用場景

1)測試磁盤性能 https://blog.csdn.net/daiyudong2020/article/details/53157558

2)備份硬盤數據 http://zuyunfei.com/2015/06/04/linux-dd/


阿里雲擴容數據盤官方文檔

https://help.aliyun.com/document_detail/25452.html

Linux磁盤修復命令e2fsck

https://www.2cto.com/os/201204/126370.html

存儲發展史

http://forum.huawei.com/enterprise/zh/thread-274145-1-1.html


lvm講解

LVM是邏輯盤卷管理(LogicalVolumeManager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是創建在硬盤和 分區之上的一個邏輯層,來提升磁盤分區管理的靈活性。經過LVM系統管理員能夠輕鬆管理磁盤分區,如:將若干個磁盤分區鏈接爲一個整塊的卷組 (volumegroup),造成一個存儲池。管理員能夠在卷組上隨意建立邏輯卷組(logicalvolumes),並進一步在邏輯卷組上建立文件系 統。管理員經過LVM能夠方便的調整存儲卷組的大小,而且能夠對磁盤存儲按照組的方式進行命名、管理和分配,例如按照使用用途進行定義:「development」和「sales」,而不是使用物理磁盤名「sda」和「sdb」。並且當系統添加了新的磁盤,經過LVM管理員就沒必要將磁盤的 文件移動到新的磁盤上以充分利用新的存儲空間,而是直接擴展文件系統跨越磁盤便可。

  • 首先準備磁盤分區

    • fdisk /dev/sdb

    • n 建立三個新分區

    • t 改變分區類型爲8e

命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分區號 (3,4,默認 3):
起始 扇區 (6293504-20971519,默認爲 6293504):
將使用默認值 6293504
Last 扇區, +扇區 or +size{K,M,G} (6293504-20971519,默認爲 20971519):+1g
不支持的後綴:「g」。
支持:10^N: KB (千字節), MB (兆字節), GB (吉字節)
            2^N: K  (約千字節), M  (約兆字節), G  (約吉字節)
Last 扇區, +扇區 or +size{K,M,G} (6293504-20971519,默認爲 20971519):+1G
分區 3 已設置爲 Linux 類型,大小設爲 1 GiB

命令(輸入 m 獲取幫助):t
分區號 (1-3,默認 3):3
Hex 代碼(輸入 L 列出全部代碼):8e
已將分區「Linux」的類型更改成「Linux LVM」

命令(輸入 m 獲取幫助):p

磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x34aa2b57

   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     6293503     1048576   8e  Linux LVM
/dev/sdb3         6293504     8390655     1048576   8e  Linux LVM

命令(輸入 m 獲取幫助):
  • 準備物理卷

    • pvcreate /dev/sdb1

    • pvcreate /dev/sdb2

    • pvcreate /dev/sdb3

    • pvdisplay 列出當前的物理卷

    • pvremove /dev/sdb3 刪除物理卷

默認系統沒有安裝lvm ,yum安裝一下

[root@localhost ~]# pvcreate /dev/sdb2
-bash: pvcreate: 未找到命令
[root@localhost ~]# yum install -y lvm2
已加載插件:fastestmirror
base                                                                                                                         | 3.6 kB  00:00:00     
extras                                                                                                                       | 3.4 kB  00:00:00     
updates                                                                                                                      | 3.4 kB  00:00:00     
extras/7/x86_64/primary_db                                                                                                   | 191 kB  00:00:02     
Loading mirror speeds from cached hostfile

安裝完成後運行pvcreate /dev/sdb2報錯

[root@localhost ~]# pvcreate /dev/sdb2
  Device /dev/sdb2 not found (or ignored by filtering).
[root@localhost ~]#

實際上系統裏面尚未新建兩個lvm的文件

[root@localhost ~]# fdisk -l /dev/sdb

磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x34aa2b57

   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     6293503     1048576   8e  Linux LVM
/dev/sdb3         6293504     8390655     1048576   8e  Linux LVM
[root@localhost ~]# 
[root@localhost ~]# ls /dev/sdb2
ls: 沒法訪問/dev/sdb2: 沒有那個文件或目錄

這時候運行下partprobe就能夠了

[root@localhost ~]# partprobe
Warning: 沒法以讀寫方式打開 /dev/sr0 (只讀文件系統)。/dev/sr0 已按照只讀方式打開。
[root@localhost ~]# partprobe /dev/sdb
[root@localhost ~]# ls /dev/sdb2
/dev/sdb2

再次運行 pvcreate /dev/sdb2

[root@localhost ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.
[root@localhost ~]# pvcreate /dev/sdb3
  Physical volume "/dev/sdb3" successfully created.
[root@localhost ~]#

建立完物理卷以後用pvdisplay查看或者pvs查看

[root@localhost ~]# pvdisplay 
  "/dev/sdb2" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb2
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               C6Uu8B-N7Ws-UGVs-L4FA-IsCJ-JhbW-0pOA4t
   
  "/dev/sdb3" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb3
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               pDgD89-BQRT-SigZ-08x4-Knd5-C6Mf-qhy3P6
   
[root@localhost ~]#
  • 建立完物理卷以後,下面開始建立卷組

建立卷組命令:vgcreate 卷組名字 /dev/sdb2 /dev/sdb3

[root@localhost ~]# vgcreate vg1 /dev/sdb2 /dev/sdb3
  Volume group "vg1" successfully created
[root@localhost ~]#

查看卷組命令:vgdisplay

[root@localhost ~]# vgdisplay 
  --- Volume group ---
  VG Name               vg1
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1.99 GiB
  PE Size               4.00 MiB
  Total PE              510
  Alloc PE / Size       0 / 0   
  Free  PE / Size       510 / 1.99 GiB
  VG UUID               96JUV1-IK7V-hud2-Rrxd-krvz-u44H-J9sMpC
   
[root@localhost ~]# vgs
  VG  #PV #LV #SN Attr   VSize VFree
  vg1   2   0   0 wz--n- 1.99g 1.99g
[root@localhost ~]#
  • 有了卷組以後就能夠建立邏輯捲了

用法 :lvcreate -L 大小 名字 從哪一個卷組建立

[root@localhost ~]# lvcreate -L 100M -n lv1 vg1
  Logical volume "lv1" created.
[root@localhost ~]#
  • 以後就能夠格式化了

[root@localhost ~]# mkfs.ext4 /dev/vg1/lv1 
mke2fs 1.42.9 (28-Dec-2013)
文件系統標籤=
OS type: Linux
塊大小=1024 (log=0)
分塊大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
第一個數據塊=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Allocating group tables: 完成                            
正在寫入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

[root@localhost ~]#
  • 掛載

[root@localhost ~]# mount /dev/vg1/lv1  /mnt/
[root@localhost ~]# df -h
文件系統             容量  已用  可用 已用% 掛載點
/dev/sda3             18G  1.2G   17G    7% /
devtmpfs             479M     0  479M    0% /dev
tmpfs                489M     0  489M    0% /dev/shm
tmpfs                489M  6.7M  482M    2% /run
tmpfs                489M     0  489M    0% /sys/fs/cgroup
/dev/mapper/vg1-lv1   93M  1.6M   85M    2% /mnt
/dev/sda1            197M  109M   88M   56% /boot
tmpfs                 98M     0   98M    0% /run/user/0

擴容邏輯卷

  • lvresize -L 300M /dev/vg1/lv1 從新設置卷大小

  • e2fsck -f /dev/vg1/lv1 檢查磁盤錯誤(ext4執行)

  • resize2fs /dev/vg1/lv1 更新邏輯卷信息(ext4執行)

  • xfs_growfs /dev/vg1/lv1 xfs文件系統須要執行

  • 首先卸載掛載邏輯卷

[root@localhost ~]# umount /mnt/
[root@localhost ~]# df -h
文件系統        容量  已用  可用 已用% 掛載點
/dev/sda3        18G  1.2G   17G    7% /
devtmpfs        479M     0  479M    0% /dev
tmpfs           489M     0  489M    0% /dev/shm
tmpfs           489M  6.7M  482M    2% /run
tmpfs           489M     0  489M    0% /sys/fs/cgroup
/dev/sdb1       1.9G  6.0M  1.8G    1% /mnt
/dev/sda1       197M  109M   88M   56% /boot
tmpfs            98M     0   98M    0% /run/user/0
  • 在執行擴容 lvresize -L 300M /dev/vg1/lv1

[root@localhost ~]# lvresize -L 300M /dev/vg1/lv1
  Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents).
  Logical volume vg1/lv1 successfully resized.
  • 檢查磁盤錯誤看看有沒有問題

[root@localhost ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 檢查inode,塊,和大小
第二步: 檢查目錄結構
第3步: 檢查目錄鏈接性
Pass 4: Checking reference counts
第5步: 檢查簇概要信息
/dev/vg1/lv1: 11/25688 files (9.1% non-contiguous), 8896/102400 blocks
[root@localhost ~]#
  • 而後更新邏輯卷信息,否則看不到邏輯卷增長

[root@localhost ~]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 307200 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 307200 blocks long.

[root@localhost ~]#
  • 掛載一下

[root@localhost ~]# mount /dev/vg1/lv1  /mnt/
[root@localhost ~]# df -h
文件系統             容量  已用  可用 已用% 掛載點
/dev/sda3             18G  1.2G   17G    7% /
devtmpfs             479M     0  479M    0% /dev
tmpfs                489M     0  489M    0% /dev/shm
tmpfs                489M  6.7M  482M    2% /run
tmpfs                489M     0  489M    0% /sys/fs/cgroup
/dev/mapper/vg1-lv1  287M  2.0M  266M    1% /mnt
/dev/sda1            197M  109M   88M   56% /boot
tmpfs                 98M     0   98M    0% /run/user/0
[root@localhost ~]#
  • xfs格式擴容

先卸載而後從新格式化邏輯卷

[root@localhost ~]# umount /mnt/
[root@localhost ~]# mkfs.xfs -f /dev/vg1/lv1 
meta-data=/dev/vg1/lv1           isize=512    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]#

而後掛在上

在擴容一下:lvresize -L 200M /dev/vg1/lv1

[root@localhost ~]# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv1  vg1 -wi-a----- 100.00m                                                    
[root@localhost ~]# lvresize -L 200M /dev/vg1/lv1
  Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 200.00 MiB (50 extents).
  Logical volume vg1/lv1 successfully resized.
[root@localhost ~]# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv1  vg1 -wi-a----- 200.00m   
[root@localhost ~]# df -h
文件系統             容量  已用  可用 已用% 掛載點
/dev/sda3             18G  1.2G   17G    7% /
devtmpfs             479M     0  479M    0% /dev
tmpfs                489M     0  489M    0% /dev/shm
tmpfs                489M  6.7M  482M    2% /run
tmpfs                489M     0  489M    0% /sys/fs/cgroup
/dev/mapper/vg1-lv1   97M  5.2M   92M    6% /mnt
/dev/sda1            197M  109M   88M   56% /boot
tmpfs                 98M     0   98M    0% /run/user/0

這時候文件系統仍是沒有變化的。須要在執行一下xfs_growfs /dev/vg1/lv1

[root@localhost ~]# xfs_growfs  /dev/vg1/lv1 
meta-data=/dev/mapper/vg1-lv1    isize=512    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 25600 to 51200
[root@localhost ~]# df -h
文件系統             容量  已用  可用 已用% 掛載點
/dev/sda3             18G  1.2G   17G    7% /
devtmpfs             479M     0  479M    0% /dev
tmpfs                489M     0  489M    0% /dev/shm
tmpfs                489M  6.7M  482M    2% /run
tmpfs                489M     0  489M    0% /sys/fs/cgroup
/dev/mapper/vg1-lv1  197M  5.3M  192M    3% /mnt
/dev/sda1            197M  109M   88M   56% /boot
tmpfs                 98M     0   98M    0% /run/user/0

縮減邏輯卷(xfs不支持)

  • 先umount

  • e2fsck -f /dev/vg1/lv1 檢查磁盤錯誤(ext)

  • resize2fs /dev/vg1/lv1 100M 更新邏輯卷信息(ext)

  • lvresize -L 100M /dev/vg1/lv1 重新設置卷大小

  • 先卸載掛載

[root@localhost ~]# umount  /mnt/
[root@localhost ~]# df -h
文件系統        容量  已用  可用 已用% 掛載點
/dev/sda3        18G  1.2G   17G    7% /
devtmpfs        479M     0  479M    0% /dev
tmpfs           489M     0  489M    0% /dev/shm
tmpfs           489M  6.7M  482M    2% /run
tmpfs           489M     0  489M    0% /sys/fs/cgroup
/dev/sdb1       1.9G  6.0M  1.8G    1% /mnt
/dev/sda1       197M  109M   88M   56% /boot
tmpfs            98M     0   98M    0% /run/user/0
  • e2fsck -f /dev/vg1/lv1 檢查磁盤錯誤(ext

[root@localhost ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 檢查inode,塊,和大小
第二步: 檢查目錄結構
第3步: 檢查目錄鏈接性
Pass 4: Checking reference counts
第5步: 檢查簇概要信息
/dev/vg1/lv1: 11/75088 files (9.1% non-contiguous), 15637/307200 blocks
[root@localhost ~]#
  • resize2fs /dev/vg1/lv1 100M 更新邏輯卷信息(ext)

[root@localhost ~]# resize2fs /dev/vg1/lv1 100M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 102400 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 102400 blocks long.

[root@localhost ~]#
  • lvresize -L 100M /dev/vg1/lv1 重新設置卷大小

[root@localhost ~]# lvresize -L 100M /dev/vg1/lv1
  WARNING: Reducing active logical volume to 100.00 MiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: y
  Size of logical volume vg1/lv1 changed from 300.00 MiB (75 extents) to 100.00 MiB (25 extents).
  Logical volume vg1/lv1 successfully resized.
[root@localhost ~]#
  • 掛載

[root@localhost ~]# mount /dev/vg1/lv1  /mnt/
[root@localhost ~]# df -h
文件系統             容量  已用  可用 已用% 掛載點
/dev/sda3             18G  1.2G   17G    7% /
devtmpfs             479M     0  479M    0% /dev
tmpfs                489M     0  489M    0% /dev/shm
tmpfs                489M  6.7M  482M    2% /run
tmpfs                489M     0  489M    0% /sys/fs/cgroup
/dev/mapper/vg1-lv1   93M  1.6M   85M    2% /mnt
/dev/sda1            197M  109M   88M   56% /boot
tmpfs                 98M     0   98M    0% /run/user/0
[root@localhost ~]#

擴展卷組 (有問題)

  • fdisk /dev/sdb 新增一個分區 類型8e
  • pvcreate /dev/sdb4 建立物理分區
  • vgextend vg1 /dev/sdb4 把sdb4加到vg1裏面去
  • lvresize -L 100M /dev/vg1/lv1 從新設置卷大小
磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x34aa2b57

   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     6293503     1048576   8e  Linux LVM
/dev/sdb3         6293504     8390655     1048576   8e  Linux LVM
/dev/sdb4         8390656    12584959     2097152    5  Extended
/dev/sdb5         8392704    10489855     1048576   83  Linux

命令(輸入 m 獲取幫助):t
分區號 (1-5,默認 5):5
Hex 代碼(輸入 L 列出全部代碼):8e
已將分區「Linux」的類型更改成「Linux LVM」

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 設備或資源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盤。
[root@localhost ~]# pvcreate /dev/sdb5
  Device /dev/sdb5 not found (or ignored by filtering).
[root@localhost ~]#
  • 若是出現這種報錯用partprobe命令更新一下。

partprobe:將磁盤分區表變化信息通知內核,請求操做系統從新加載分區表。
    -d 不更新內核
    -s 顯示磁盤分區彙總信息
    -h 顯示幫助信息
    -v 顯示版本信息
eg:
    partprobe /dev/sdb
當磁盤分區信息完整時,手動刪除/dev/disk/by-id目錄下對應的wwn連接文件,執行partprobe操做,系統會本身建立刪除的連接文件。
經過udevadmin monitor命令能夠監控到相關信息。

磁盤故障小案例

  • 以前寫到vi /etc/fstab 這個配置文件裏面添加了一行配置。
[root@localhost ~]# vi /etc/fstab 


#
# /etc/fstab
# Created by anaconda on Mon Aug 14 23:56:24 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=58f4e3c9-b84f-4689-be51-3396d2231926 /                       xfs     defaults        0 0
UUID=4203cad2-52e1-4a3a-9dd6-2f7e78c28805 /boot                   xfs     defaults        0 0
UUID=9877b5cd-7fed-450f-9153-1ee3ec839d77 swap                    swap    defaults        0 0
/dev/sdb1                                  /mnt                   ext4    defaults        0 0
  • 而後作lvm實驗的時候改動了這個分區,致使開機報錯。沒法正常開機。提示輸入root密碼

  • 輸入密碼後進入系統,找到這個文件把最後一行刪掉,重啓便可恢復。

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息