day2

硬盤分區

識別硬盤-->規劃分區-->格式化-->掛載-->寫入/讀寫數據


MBR    Master Boot Record

主引導記錄模式,也稱爲MSDOS模式

硬盤的第一個扇區(512字節)作爲MBR扇區,用來記錄引導程序和分區表

分區表記錄只有64個字節,其中存儲硬盤上每個分區的信息,一個分區記錄需要16字節

此模式支持最多4個主分區、最大容量約2.2TB


GPT    GUID Partition Table

全局唯一標識分區表

突破固定大小64字節表限制

最多可支持128個主分區,最大支持18EB磁盤

    1EB=1024PB=1024 X 1024TB


磁盤分區工具

fdisk    只支持MSDOS分區佈局

fdisk -l /dev/sda    查看分區表

fdisk /dev/sda    對/dev/sda進行分區


parted    支持MSDOS\GPT分區佈局

parted /dev/sda print    查看分區表

parted /dev/sda    對/dev/sda進行分區


parted

-help    獲取幫助

-mktable msdos|gpt    建立指定模式分區表

-mkpart primary 文件系統類型 start end

        批定大小或百分比作爲起始、結束位置

-print    查看分區表

-rm 序號    刪除指定的分區

-quit    退出交互環境


當硬盤分區表更改以後

需要將分區表變化通知內核


partx -a /dev/sda

partprobe /dev/sda

reboot


fdisk /dev/sdb


Command (m for help): h

h: unknown command

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition

   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)


Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

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

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

Disk identifier: 0xd59d5311


   Device Boot      Start         End      Blocks   Id  System


Command (m for help): n

Command action

   e   extended    擴展分區

   p   primary partition (1-4) 主分區

p

Partition number (1-4): 1

First cylinder (1-2610, default 1): 

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): 1G


Command (m for help): p


Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

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

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

Disk identifier: 0xd59d5311


   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1           1        8001   83  Linux


Command (m for help): w

The partition table has been altered!


Calling ioctl() to re-read partition table.

Syncing disks.



parted /dev/sdb


[root@localhost ~]# parted /dev/sda p

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sda: 21.5GB

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

Partition Table: msdos    分區方式爲MBR


Number  Start   End     Size    Type     File system     標誌

 1      1049kB  211MB   210MB   primary  ext4            啓動

 2      211MB   2308MB  2097MB  primary  linux-swap(v1)

 3      2308MB  21.5GB  19.2GB  primary  ext4


[root@localhost ~]# parted /dev/sdb p

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 21.5GB

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

Partition Table: msdos


Number  Start  End     Size    Type     File system  標誌

 1      512B   1000MB  1000MB  primary


[root@localhost ~]# parted /dev/sdb mkpart p ext4 1G 3G

信息: You may need to update /etc/fstab.                                  


[root@localhost ~]# parted /dev/sdb p

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 21.5GB

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

Partition Table: msdos


Number  Start   End     Size    Type     File system  標誌

 1      512B    1000MB  1000MB  primary

 2      1000MB  3000MB  2000MB  primary


(parted) mktable 

align-check  mkfs         mktable      quit         select       version

check        mklabel      move         rescue       set          檢查

cp           mkpart       name         resize       toggle       

help         mkpartfs     print        rm           unit         

(parted) mktable 

新的磁盤標籤類型?                                                        

aix    amiga  bsd    dvh    gpt    loop   mac    msdos  pc98   sun    

新的磁盤標籤類型? 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) p                                                                

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 21.5GB

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

Partition Table: gpt


Number  Start  End  Size  File system  Name  標誌


或者parted /dev/sdb mktable gpt 將sdb分區方式更改爲gpt

注:轉換GPT或MSDOS都會丟失數據


檢查此分區是否支持ACL、有多少個I節點

[root@localhost ~]# tune2fs -l /dev/sda1 |grep acl    支持ACL

Default mount options:    user_xattr acl

[root@localhost ~]# tune2fs -l /dev/sdb1 |grep acl    沒有輸出信息,不支持

[root@localhost ~]# 


[root@localhost ~]# tune2fs -l /dev/sdb1 |grep "Inode count"

Inode count:              61056


如何需要支持ACL

在/etc/fstab

/dev/sdb1       /test   ext4 defaults,acl 0 0

加一個ACL


格式化工具

mkfs    make filesystem

文件系統ext4

mkfs -t ext4 /dev/sda?

或mkfs.ext4 /dev/sda?


文件系統FAT32

mkfs -t vfat -F 32 /dev/sda?

或mkfs.vfat -F 32 /dev/sda?


格式化交換分區

mkswap 分區設備


記用交換分區

swapon 分區設備


查看交換分區

swapon -s


關閉交換分區

swapoff 分區設備


利用文件創建SWAP空間

dd if=源設備 of=目標設備 bs=塊大小 count=塊數


創建500M文件

[root@localhost mnt]# dd if=/dev/zero of=/opt/swap.1 bs=1M count=500

記錄了500+0 的讀入

記錄了500+0 的寫出

524288000字節(524 MB)已複製,16.1705 秒,32.4 MB/秒


-f表示強制執行(force)

[root@localhost mnt]# mkswap -f /opt/swap.1 

Setting up swapspace version 1, size = 511996 KiB

no label, UUID=92324e76-a1d5-4b5a-9160-11b384ddd5e1


[root@localhost mnt]# swapon -s

FilenameTypeSizeUsedPriority

/dev/sda2                               partition20479920-1

[root@localhost mnt]# swapon /opt/swap.1 

[root@localhost mnt]# swapon -s

FilenameTypeSizeUsedPriority

/dev/sda2                               partition20479920-1

/opt/swap.1                             file5119920-2

[root@localhost mnt]# swapoff /opt/swap.1 

[root@localhost mnt]# swapon -s

FilenameTypeSizeUsedPriority

/dev/sda2                               partition20479920-1


EXT分區命名

e2label命令

e2label 設備名 ["卷標名"]

e2label /dev/sdb1 "test1"


[root@localhost ~]# e2label /dev/sdb1 沒有則顯示空


[root@localhost ~]# e2label /dev/sdb1 "test1"

[root@localhost ~]# e2label /dev/sdb1

test1

[root@localhost ~]# e2label /dev/sdb1 ""    刪除卷標名

[root@localhost ~]# e2label /dev/sdb1 沒有則顯示空


查看設備的UUID

blkid命令    Block Identity

blkid 設備名

[root@localhost ~]# blkid 

/dev/sda1: UUID="f8364c60-0d36-4825-938a-596c4a36caed" TYPE="ext4" 

/dev/sda2: UUID="362e751f-73c4-4fd6-9eff-c2dbe185d92e" TYPE="swap" 

/dev/sda3: UUID="659f965c-49e9-4a78-b514-cc6d40734619" TYPE="ext4" 

/dev/sdb1: UUID="c01c3b74-fac2-43ab-b3a6-98923786740b" TYPE="ext4" 

[root@localhost ~]# blkid /dev/sdb1

/dev/sdb1: UUID="c01c3b74-fac2-43ab-b3a6-98923786740b" TYPE="ext4" 


[root@localhost ~]# blkid /dev/sdb1

/dev/sdb1: UUID="c01c3b74-fac2-43ab-b3a6-98923786740b" TYPE="ext4" 

[root@localhost ~]# e2label /dev/sdb1 "test1"

[root@localhost ~]# !b

blkid /dev/sdb1

/dev/sdb1: UUID="c01c3b74-fac2-43ab-b3a6-98923786740b" TYPE="ext4" LABEL="test1" 


查看EXT分區屬性

tune2fs命令

tune2fs -l 設備名


[root@localhost ~]# tune2fs -l /dev/sdb1

tune2fs 1.41.12 (17-May-2010)

Filesystem volume name:   test1

Last mounted on:          <not available>

Filesystem UUID:          c01c3b74-fac2-43ab-b3a6-98923786740b

Filesystem magic number:  0xEF53

Filesystem revision #:    1 (dynamic)

Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize

Filesystem flags:         signed_directory_hash 

Default mount options:    (none)

Filesystem state:         clean

Errors behavior:          Continue

Filesystem OS type:       Linux

Inode count:              2000

Block count:              8000

Reserved block count:     400

Free blocks:              6676

Free inodes:              1989

First block:              1

Block size:               1024

Fragment size:            1024

Reserved GDT blocks:      31

Blocks per group:         8192

Fragments per group:      8192

Inodes per group:         2000

Inode blocks per group:   250

Flex block group size:    16

Filesystem created:       Tue Aug  9 21:49:41 2016

Last mount time:          n/a

Last write time:          Tue Aug  9 21:53:01 2016

Mount count:              0

Maximum mount count:      36

Last checked:             Tue Aug  9 21:49:41 2016

Check interval:           15552000 (6 months)

Next check after:         Sun Feb  5 21:49:41 2017

Lifetime writes:          1401 kB

Reserved blocks uid:      0 (user root)

Reserved blocks gid:      0 (group root)

First inode:              11

Inode size:          128

Journal inode:            8

Default directory hash:   half_md4

Directory Hash Seed:      909a22e7-58cb-488f-bded-c7c5b7704015

Journal backup:           inode blocks


掛載文件系統

mount命令

mount [選項] 設備名 掛載點

-a:加載所有fstab已配置的文件系統

-t:指定文件系統類型

-o:指定掛載參數————————————————————————

        ro/rw:只讀/讀寫

        acl/noacl:啓用/禁用ACL

        exec/noexec:打開/關閉執行權

        suid/nosuid:啓用/禁用suid和sgid

        remount:重新掛載

        defaults:rw,suid,dev,exec,auto,nouser,async

        ————————————————————————

-L:通過卷標名掛載設備

-U:通過UUID掛載設備


ISO鏡像文件掛載到指定位置

mount -o loop linux.iso /mnt/cdrom


df命令 disk usage of file system

df 選項 文件

-h 使用容量單位

-T 列出文件系統系統


[root@localhost mnt]# df -h

文件系統      容量  已用  可用 已用%% 掛載點

/dev/sda3              18G  3.5G   14G  21% /

tmpfs                 112M     0  112M   0% /dev/shm

/dev/sda1             194M   29M  156M  16% /boot

[root@localhost mnt]# df -T

文件系統    類型         1K-塊      已用      可用 已用% 掛載點

/dev/sda3     ext4    18423556   3658768  13828904  21% /

tmpfs        tmpfs      114220         0    114220   0% /dev/shm

/dev/sda1     ext4      198337     28929    159168  16% /boot


卸載文件系統

umount

umount 設備名|掛載點

-a卸載所有已掛載的非僞文件系統


開機自動掛載配置文件

/etc/fstab


#

# /etc/fstab

# Created by anaconda on Tue Aug  9 00:02:13 2016

#

# 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=659f965c-49e9-4a78-b514-cc6d40734619 /                       ext4    defaults

1 1

UUID=f8364c60-0d36-4825-938a-596c4a36caed /boot                   ext4    defaults

1 2

UUID=362e751f-73c4-4fd6-9eff-c2dbe185d92e swap                    swap    defaults

0 0

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

~                                                                              

備份標記和檢測順序爲0則不需要

以空格或製表位分隔6列

設備文件    掛載點    文件系統類型    掛載參數    備份標記    檢測順序


觸發掛載

autofs服務

按需訪問 機制

只要訪問掛載點就會觸發響應,自動掛載指定設備

閒置超過時限(默認爲5分鐘),會自動卸載


主配置文件/etc/auto.master

監控點目錄    掛載配置文件的路徑

掛載配置文件/etc/auto.1 文件名可以自己定義

觸發點子目錄    掛載參數    :設備名


[root@localhost /]# grep -v '^#' /etc/auto.master ;echo ------------;grep -v '^#' /etc/auto.1

/misc/etc/auto.misc

/net-hosts

+auto.master


/test /etc/auto.1

test    -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom

表示訪問 /test/test    才能觸發


[root@localhost /]# ll /test/

總用量 0


[root@localhost /]# /etc/init.d/autofs start

正在啓動 automount:automount: program is already running.

                                                           [確定]



[root@localhost ~]# mount |tail -1

/dev/sr0 on /test/test type iso9660 (ro,nosuid,nodev)



LVM邏輯卷 Logical Volume Manager

  • pvcreate 設備名...

  • vgcreate 卷組名 物理卷...

  • lvcreate -L 大小 -n 邏輯卷名 卷組名


先PV----在VG----在LV----格式化LV---掛載

PV     Physical Volume 物理卷

    物理分區,或整個物理磁盤

    由PE    Physical Extent,基本單元    組成

VG    Volume Group 卷組

     一個或多個物理卷組的邏輯整體

LV    Logical Volume 邏輯卷

    從卷組中分割出的地塊邏輯存儲空間

    可通過格式化建立文件系統


[root@localhost /]# parted /dev/sdb p

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 21.5GB

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

Partition Table: gpt


Number  Start   End     Size    File system  Name  標誌

 1      17.4kB  1000MB  1000MB  ext4


# parted /dev/sdb set 1 lvm on    set:添加標誌,1分區編號,lvm標誌,on開啓

信息: You may need to update /etc/fstab.                                  


[root@localhost /]# parted /dev/sdb p

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 21.5GB

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

Partition Table: gpt


Number  Start   End     Size    File system  Name  標誌

 1      17.4kB  1000MB  1000MB  ext4               lvm


[root@localhost /]# parted /dev/sdb set 1 lvm off

信息: You may need to update /etc/fstab.                                  


[root@localhost /]# parted /dev/sdb p

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 21.5GB

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

Partition Table: gpt


Number  Start   End     Size    File system  Name  標誌

 1      17.4kB  1000MB  1000MB  ext4


Number  Start   End     Size    File system  Name  標誌

 1      17.4kB  1000MB  1000MB  ext4               lvm

 2      1000MB  3000MB  2000MB  ext4         name  lvm

 3      3000MB  5000MB  2000MB               name  lvm    文件類型沒有,因爲沒有格式化


[root@localhost /]# pvs

[root@localhost /]# pvscan 

  No matching physical volumes found

[root@localhost /]# ll /dev/sdb*

brw-rw----. 1 root disk 8, 16 8月  10 00:19 /dev/sdb

brw-rw----. 1 root disk 8, 17 8月  10 00:19 /dev/sdb1

brw-rw----. 1 root disk 8, 18 8月  10 00:19 /dev/sdb2

brw-rw----. 1 root disk 8, 19 8月  10 00:18 /dev/sdb3


忘記可以man下查下命令格式

man pvcreate


創建pv

[root@localhost /]# pvcreate /dev/sdb[1-3]

  Physical volume "/dev/sdb1" successfully created

  Physical volume "/dev/sdb2" successfully created

  Physical volume "/dev/sdb3" successfully created


[root@localhost /]# pvs

  PV         VG    Fmt  Attr PSize   PFree  

  /dev/sdb1  my_vg lvm2 a--  952.00m 952.00m

  /dev/sdb2  my_vg lvm2 a--    1.86g   1.86g

  /dev/sdb3  my_vg lvm2 a--    1.86g   1.86g


創建vg

[root@localhost /]# vgscan

  Reading all physical volumes.  This may take a while...

  No volume groups found


[root@localhost /]# vgcreate my-vg /dev/sdb1 

  Volume group "my-vg" successfully created


[root@localhost /]# vgs

  VG    #PV #LV #SN Attr   VSize   VFree  

  my-vg   1   0   0 wz--n- 952.00m 952.00m


創建lv

[root@localhost /]# lvcreate -L 100M -n my-lv my-vg

  Logical volume "my-lv" created

[root@localhost /]# lvs

  LV    VG    Attr      LSize   Pool Origin Data%  Move Log Cpy%Sync Convert

  my-lv my-vg -wi-a---- 100.00m   


[root@localhost /]# ll /dev/my-vg/my-lv 

lrwxrwxrwx. 1 root root 7 8月  10 00:31 /dev/my-vg/my-lv -> ../dm-0


擴展邏輯卷容量

[root@localhost /]# df -h

文件系統      容量  已用  可用 已用%% 掛載點

/dev/sda3              18G  3.5G   14G  21% /

/dev/sda1             194M   29M  156M  16% /boot

tmpfs                 112M     0  112M   0% /dev/shm

/dev/mapper/my--vg-my--lv

                       97M  5.6M   87M   7% /test



[root@localhost /]# lvextend -L +500 /dev/my-vg/my-lv 

  Extending logical volume my-lv to 600.00 MiB

  Logical volume my-lv successfully resized

[root@localhost /]# lvs

  LV    VG    Attr      LSize   Pool Origin Data%  Move Log Cpy%Sync Convert

  my-lv my-vg -wi-ao--- 600.00m                                             

[root@localhost /]# df -h

文件系統      容量  已用  可用 已用%% 掛載點

/dev/sda3              18G  3.5G   14G  21% /

/dev/sda1             194M   29M  156M  16% /boot

tmpfs                 112M     0  112M   0% /dev/shm

/dev/mapper/my--vg-my--lv

                       97M  5.6M   87M   7% /test

[root@localhost /]# 


lv擴容支持線上操作,但是擴展完成後通知內核新卷大小

lv擴容要看vg的空間是否滿足,不滿足時擴容vg

vg擴容不夠擴展pv

pv不夠加硬盤


[root@localhost /]# resize2fs /dev/dm-0

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/dm-0 is mounted on /test; on-line resizing required

old desc_blocks = 1, new_desc_blocks = 3

Performing an on-line resize of /dev/dm-0 to 614400 (1k) blocks.

The filesystem on /dev/dm-0 is now 614400 blocks long.


文件系統    類型      容量  已用  可用 已用%% 掛載點

/dev/sda3     ext4     18G  3.5G   14G  21% /

/dev/sda1     ext4    194M   29M  156M  16% /boot

tmpfs        tmpfs    112M     0  112M   0% /dev/shm

/dev/mapper/my--vg-my--lv

              ext4    582M  6.3M  546M   2% /test


vgcreate -s  pe大小 卷組名 物理卷

lvcreate -l pe個數 -n 邏輯名 卷組名

lvextend -L +大小 /dev/卷組名/邏輯卷名  推薦這種

還有一種lvextend -L 直接大小(等於之前的大小加上你要擴容的大小的總和) /dev/卷組名/邏輯卷名


PE大小默認是4M

[root@localhost /]# pvdisplay /dev/sdb1|grep 'PE'

  PE Size               4.00 MiB

  Total PE              238

  Free PE               0

  Allocated PE          238


vg擴容

[root@localhost /]# vgextend my-vg /dev/sdb2 /dev/sdb3

  Volume group "my-vg" successfully extended

[root@localhost /]# vgs

  VG    #PV #LV #SN Attr   VSize VFree

  my-vg   3   1   0 wz--n- 4.65g 4.06g


[root@localhost /]# lvextend -L +2G /dev/my-vg/my-lv 

  Extending logical volume my-lv to 2.59 GiB

  Logical volume my-lv successfully resized

[root@localhost /]# lvs

  LV    VG    Attr      LSize Pool Origin Data%  Move Log Cpy%Sync Convert

  my-lv my-vg -wi-ao--- 2.59g   


[root@localhost /]# df -h

文件系統      容量  已用  可用 已用%% 掛載點

/dev/sda3              18G  3.5G   14G  21% /

/dev/sda1             194M   29M  156M  16% /boot

tmpfs                 112M     0  112M   0% /dev/shm

/dev/mapper/my--vg-my--lv

                      582M  6.3M  546M   2% /test

[root@localhost /]# fs

fsadm         fsck.cramfs   fsck.ext3     fsck.ext4dev  fsck.vfat     fstab-decode

fsck          fsck.ext2     fsck.ext4     fsck.msdos    fsfreeze      fstrim

[root@localhost /]# resize2fs  /dev/my-vg/my-lv 

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/my-vg/my-lv is mounted on /test; on-line resizing required

old desc_blocks = 3, new_desc_blocks = 11

Performing an on-line resize of /dev/my-vg/my-lv to 2711552 (1k) blocks.

The filesystem on /dev/my-vg/my-lv is now 2711552 blocks long.


[root@localhost /]# df -h

文件系統      容量  已用  可用 已用%% 掛載點

/dev/sda3              18G  3.5G   14G  21% /

/dev/sda1             194M   29M  156M  16% /boot

tmpfs                 112M     0  112M   0% /dev/shm

/dev/mapper/my--vg-my--lv

                      2.6G  6.9M  2.4G   1% /test

[root@localhost /]# 


RAID

廉價冗餘磁盤陣列

Redundant Arrays of Inexpensive Disks

有軟RAID和硬RAID

不同的RAID級別功能與特性也不同


RAID 0 條帶模式

將一個文檔分散存儲到不同的磁盤

並行寫入以提高效率


RAID 1 鏡像模式

一個文檔複製成多份,分別寫入不同的磁盤

多份拷貝提高可靠性,效率無提升

數據有可靠性


RAID 5 高性價比模式

相當於RAID 0和RAID 1

到少一塊磁盤空間作爲冗餘


RAID 0+1/RAID 1+0

整合RAID 0、1優勢

並行存取提高效率、鏡像寫入提高數據可靠性

RAID 0+1與RAID 1+0相比 RAID 1+0性能更強點

wKiom1epn_SSCXAYAABIPyo3MJY577.png-wh_50


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章