作业-第05周--课堂-Day22-磁盘管理 -Ⅲ

Day22 课堂笔记

2)parted 命令
案例1:需求:RAID5大小6T,已经装了系统了, 额外添加4块2T盘
现有一个做了RAID5的硬盘,要求分三个区,
硬盘总分区大小: 6.2T
/data0 4.8T
/data1 1T
4G (无需格式化,作DRBD+Hearbeat+MySQL高可用集群)

parted /dev/sdb mklabel gpt                     #<==修改分区格式为gpt。
parted /dev/sdb mkpart primary 0 4800000        #<==创建一个4.8T主分区
parted /dev/sdb mkpart primary 4800001 5800001  #<==创建一个1T主分区
parted /dev/sdb mkpart primary 5800002 5804098  #<==创建一个4G主分区
parted /dev/sdb p

实践如下:

[root@oldboyedu  ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
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
  
  resizepart NUMBER END                    resize partition NUMBER
  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
============================================================
                ********创建gpt格式的分区表********
============================================================
(parted) mklabel gpt
============================================================
                ********查看的结果********
============================================================
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 537MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags
============================================================
                ********创建第1个主分区********
============================================================
(parted) mkpart primary 0 10                                              
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I                       <--> 忽略提示        
============================================================
                ********查看的结果********
============================================================               
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 537MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  10.0MB  9983kB               primary
============================================================
                ********创建第2个主分区********
============================================================
(parted) mkpart primary 11 20                                           
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I      
============================================================
                ********查看的结果********
============================================================                                                    
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 537MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  10.0MB  9983kB               primary
 2      11.0MB  20.0MB  9000kB               primary
============================================================
                ********创建第3个主分区********
============================================================
(parted) mkpart primary 21 30
============================================================
                ********查看的结果********
============================================================ 
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 537MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  10.0MB  9983kB               primary
 2      11.0MB  20.0MB  9000kB               primary
 3      21.0MB  30.4MB  9437kB               primary
============================================================
                ********创建第4个逻辑分区********
============================================================
(parted) mkpart logic 31 40
============================================================
                ********查看的结果********
============================================================ 

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

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  10.0MB  9983kB               primary
 2      11.0MB  20.0MB  9000kB               primary
 3      21.0MB  30.4MB  9437kB               primary
 4      31.5MB  39.8MB  8389kB               logic
============================================================
                ********删除第4个逻辑分区********
============================================================
(parted) rm 4                                                             
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 537MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  10.0MB  9983kB               primary
 2      11.0MB  20.0MB  9000kB               primary
 3      21.0MB  30.4MB  9437kB               primary
============================================================
                ********保存并退出********
============================================================ 
(parted) q                                                                
Information: You may need to update /etc/fstab.
============================================================
                ********查看的结果********
============================================================ 
[root@oldboyedu  ~]# ll /dev/sdb*
brw-rw---- 1 root disk 8, 16 Mar 31 15:56 /dev/sdb
brw-rw---- 1 root disk 8, 17 Mar 31 15:56 /dev/sdb1
brw-rw---- 1 root disk 8, 18 Mar 31 15:56 /dev/sdb2
brw-rw---- 1 root disk 8, 19 Mar 31 15:56 /dev/sdb3

案例2:需求:刚买的服务器 4块2T 刚买,要做RAID5,装系统怎么搞定?

  • 方法1:Raid里可以支持RAID5后,6T,允许你把6T分成虚拟磁盘。
    200G分成第一个虚拟磁盘剩下不分留着装系统后(parted)。

  • 方法2:装系统过程中有这个功能,系统镜像支持GPT格式分区,很隐蔽。

  • 方法3:引导工具,进入然后用parted分区。

1. 文件系统

1.1、什么是文件系统?
计算机存储和组织数据的方法或者机制。落地是一个软件。

1.2、为什么需要文件系统?
磁盘、物理介质、磁粒子物理元素。 硬件需要软件驱动使用,磁盘需要文件系统驱动。
文件系统实现通过磁盘管理规划、存取数据。

1.3、文件系统有哪些种类?

  • Windows:NTFS、fat32、msdos
  • Linux:ext2、ext3(C5)、ext4(C6)、Xfs(C7)、btrfs

1.4、创建文件系统实践。

1)mkfs 命令

格式化ext4文件系统 mkfs.ext4

[root@oldboyedu ~]# mkfs -t ext4 /dev/sdb1  
==========================================================
      *****其实关键就是生成一定数量的Inode和Block*****
==========================================================
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=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: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done 

查看mkfs参数(CentOS7man是查不到的,把参数写错即可)

[root@oldboyedu  ~]# mkfs --abc
mkfs.ext2: invalid option -- '-'         <-->显示无效的参数,然后就出来参数了
Usage: mkfs.ext2 [-c|-l filename] [-b block-size] [-C cluster-size]
    [-i bytes-per-inode] [-I inode-size] [-J journal-options]
    [-G flex-group-size] [-N number-of-inodes]
    [-m reserved-blocks-percentage] [-o creator-os]
    [-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]
    [-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]
    [-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-count]

指定块大小和inode大小格式

[root@oldboyedu ~]# mkfs -t ext4 -b 4096 -I 512 /dev/sdb3
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
38400 inodes, 38400 blocks
1920 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=39845888
2 block groups
32768 blocks per group, 32768 fragments per group
19200 inodes per group
Superblock backups stored on blocks: 
    32768

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

[root@oldboyedu ~]# dumpe2fs /dev/sdb3|egrep -i "size"
dumpe2fs 1.42.9 (28-Dec-2013)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Block size:               4096
Fragment size:            4096
Group descriptor size:    64
Flex block group size:    16
Inode size:               512
Required extra isize:     28
Desired extra isize:      28
Journal size:             16M

2)mount 命令

[root@oldboyedu ~]# mount  /dev/sdb1 /mnt #临时挂载到/mnt
[root@oldboyedu ~]# df -h #查看挂载结果
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        19G  1.9G   18G  10% /
devtmpfs        980M  5.0M  975M   1% /dev
tmpfs           991M     0  991M   0% /dev/shm
tmpfs           991M   18M  973M   2% /run
tmpfs           991M     0  991M   0% /sys/fs/cgroup
/dev/sda1       253M  136M  118M  54% /boot
tmpfs           199M     0  199M   0% /run/user/0
tmpfs           199M     0  199M   0% /run/user/1000
/dev/sdb1        93M  1.6M   85M   2% /mnt #<====已挂载。

[root@oldboyedu ~]# cat /proc/mounts  #查看挂载结果
rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
configfs /sys/kernel/config configfs rw,relatime 0 0
/dev/sda3 / xfs rw,relatime,attr2,inode64,noquota 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=32,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=19277 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
mqueue /dev/mqueue mqueue rw,relatime 0 0
/dev/sda1 /boot xfs rw,relatime,attr2,inode64,noquota 0 0
tmpfs /run/user/0 tmpfs rw,nosuid,nodev,relatime,size=202812k,mode=700 0 0
tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=202812k,mode=700,uid=1000,gid=1000 0 0
/dev/sdb1 /mnt ext4 rw,relatime,data=ordered 0 0 #<==已挂载。
[root@oldboyedu ~]# touch /mnt/oldboy   #<==测试。
[root@oldboyedu ~]# ls /mnt
lost+found  oldboy

挂载的分区需格式化

[root@oldboyedu ~]# mount /dev/sdb2 /opt  #没有格式化没法挂载
mount: /dev/sdb2 is write-protected, mounting read-only
mount: unknown filesystem type '(null)'
[root@oldboyedu ~]# mkfs.xfs /dev/sdb2  #格式化xfs文件系统
meta-data=/dev/sdb2              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@oldboyedu ~]# mount -t xfs /dev/sdb2 /opt
[root@oldboyedu ~]# df -h|grep opt
/dev/sdb2        97M  5.3M   92M   6% /opt
[root@oldboyedu ~]# touch /opt/oldgirl
[root@oldboyedu ~]# ls /opt
oldgirl

如何开机自动挂载?编辑/etc/fstab ,实现开机自动挂载

[root@oldboyedu ~]# cat /etc/fstab 
UUID=3a3a295f-88f8-456d-94dc-1a3eeb517c02 /            xfs     defaults          0            0
UUID=fd2e0ca7-32be-425f-86a2-85c02b9ec5ea /boot        xfs     defaults          0            0
UUID=79a3924b-739e-48dc-ab0c-0444b9ac6591 swap         swap    defaults          0            0
设备                                      挂载点   文件系统类型  默认挂载选项  是否备份  是否开机磁盘检查
/dev/sdb2                                 /opt         xfs     defaults          0      0

2)umount 命令

[root@oldboyedu /mnt]# umount /mnt
umount: /mnt: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[root@oldboyedu /mnt]# pwd
/mnt
You have new mail in /var/spool/mail/root
[root@oldboyedu /mnt]# umount -lf /mnt     #<==强制卸载
[root@oldboyedu /mnt]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        19G  1.9G   18G  10% /
devtmpfs        980M  5.0M  975M   1% /dev
tmpfs           991M     0  991M   0% /dev/shm
tmpfs           991M   18M  973M   2% /run
tmpfs           991M     0  991M   0% /sys/fs/cgroup
/dev/sda1       253M  136M  118M  54% /boot
tmpfs           199M     0  199M   0% /run/user/0
tmpfs           199M     0  199M   0% /run/user/1000

3)blkid 命令

[root@oldboyedu ~]# blkid
/dev/sdb1: UUID="a45b004f-2322-4dc4-a281-2a212dd2ab79" TYPE="ext4" 
/dev/sdb2: UUID="7daf8142-b641-4b60-a287-4e08dfa18611" TYPE="xfs" 
/dev/sda1: UUID="fd2e0ca7-32be-425f-86a2-85c02b9ec5ea" TYPE="xfs" 
/dev/sda2: UUID="79a3924b-739e-48dc-ab0c-0444b9ac6591" TYPE="swap" 
/dev/sda3: UUID="3a3a295f-88f8-456d-94dc-1a3eeb517c02" TYPE="xfs"

4)fsck命令

  • 正常的磁盘不能操作。
  • 卸载挂载点在操作
  • 只能修复ext文件系统
[root@oldboyedu ~]# fsck -a /dev/sdb1
fsck from util-linux 2.23.2
/dev/sdb1: clean, 12/25688 files, 8896/102400 blocks
[root@oldboyedu ~]# mount /dev/sdb1 /mnt
[root@oldboyedu ~]# fsck -a /dev/sdb1
fsck from util-linux 2.23.2
/dev/sdb1 is mounted.
e2fsck: Cannot continue, aborting.

[root@oldboyedu ~]# e2fsck /dev/sdb1
e2fsck 1.42.9 (28-Dec-2013)
/dev/sdb1: clean, 12/25688 files, 8896/102400 blocks
[root@oldboyedu ~]# fsck -a /dev/sdb1
fsck from util-linux 2.23.2
/dev/sdb1: clean, 12/25688 files, 8896/102400 blocks
[root@oldboyedu ~]# xfs_repair /dev/sdb2
xfs_repair: /dev/sdb2 contains a mounted filesystem
xfs_repair: /dev/sdb2 contains a mounted and writable filesystem

fatal error -- couldn't initialize XFS library
[root@oldboyedu ~]# umount /opt
[root@oldboyedu ~]# xfs_repair /dev/sdb2
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - zero log...
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan and clear agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
Phase 5 - rebuild AG headers and trees...
        - reset superblock...
Phase 6 - check inode connectivity...
        - resetting contents of realtime bitmap and summary inodes
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done

5)dd 命令

dd if=/dev/sda of=/dev/sdc    bs=512    count=10240
     来源      生成文件系统   block大小  块个数

swap作用,内存不够时候,用来充当内存,一般内存1.5倍。大于8G给8G
将来JAVA服务,内存泄漏
swap就会占用,操作系统性能下降

案例:增加swap分区 100M

============================================================
                    ******查看swap情况*****
============================================================
[root@oldboyedu  ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            972         135         699           7         137         682
Swap:           767           0         767
============================================================
                    ******创建100M虚拟磁盘*****
============================================================
[root@oldboyedu  ~]# dd if=/dev/zero of=/tmp/100M bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 4.09005 s, 25.6 MB/s
============================================================
                    ******格式化100M虚拟磁盘*****
============================================================
[root@oldboyedu  ~]# mkswap /tmp/100M 
Setting up swapspace version 1, size = 102396 KiB
no label, UUID=ad35b6b9-dfbe-436f-9322-ac0a2019387e
============================================================
                    ******挂载100M虚拟磁盘*****
============================================================
[root@oldboyedu  ~]# swapon /tmp/100M
swapon: /tmp/100M: insecure permissions 0644, 0600 suggested.
[root@oldboyedu  ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            972         135         596           7         240         667
Swap:           867           0         867
============================================================
                    ******卸载100M虚拟磁盘*****
============================================================
[root@oldboyedu  ~]# swapoff /tmp/100M
[root@oldboyedu  ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            972         135         596           7         240         667

查看文件系统内部细节:
1)ext文件系统

[root@oldboyedu ~]# dumpe2fs /dev/sdb1|egrep -i "size"
dumpe2fs 1.42.9 (28-Dec-2013)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Block size:               1024
Fragment size:            1024
Group descriptor size:    64
Flex block group size:    16
Inode size:           128
Journal size:             4096k

2)xfs文件系统

[root@oldboyedu ~]# xfs_info /dev/sda1
meta-data=/dev/sda1              isize=512    agcount=4, agsize=16384 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=65536, 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

你可能感兴趣的:(作业-第05周--课堂-Day22-磁盘管理 -Ⅲ)