linux磁盘添加,分区,挂载

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/liuhaoy/article/details/102638364

linux磁盘管理

一、添加新硬盘扫描

在VMware虚拟机添加新硬盘,没有刷新的话,先查看总线是属于host几,然后echo — 刷新
hd 代表 ide
sd 代表 scsi
nvme 代表nvme

[root@localhost ~]#ll /sys/block/sda
lrwxrwxrwx 1 root root 0 Oct 15 14:52 /sys/block/sda -> ../devices/pci0000:00/0000:00:10.0/host2/target2:0:0/2:0:0:0/block/sda
[root@localhost ~]#
[root@localhost ~]#echo '- - -' > /sys/class/scsi_host/host2/scan 
[root@localhost ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   49G  0 part 
  ├─centos-root 253:0    0 45.1G  0 lvm  /
  └─centos-swap 253:1    0  3.9G  0 lvm  [SWAP]
sdb               8:16   0   10G  0 disk 
sr0              11:0    1  4.3G  0 rom  /media
loop0             7:0    0   10M  0 loop /root/usr
[root@localhost ~]#

二、查看磁盘信息

查看有几块磁盘,以及磁盘信息 Disk label type:gpt 代表gpt分区,dos代表mbr分区

[root@localhost ~]#fdisk -l /dev/sdb
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sdb: 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: gpt
Disk identifier: 7A9A338E-E6E5-4FAF-9B4C-AF1E73605D20
#         Start          End    Size  Type            Name

df -T 和 blkid 都可以看到分区类型
df -h 友好显示,以M或者G为单位显示
或者blkid

[root@localhost ~]#df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        46G  6.1G   40G  14% /
devtmpfs                devtmpfs  1.5G     0  1.5G   0% /dev
tmpfs                   tmpfs     1.5G     0  1.5G   0% /dev/shm
tmpfs                   tmpfs     1.5G  9.5M  1.5G   1% /run
tmpfs                   tmpfs     1.5G     0  1.5G   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  133M  882M  14% /boot
tmpfs                   tmpfs     299M     0  299M   0% /run/user/0
/dev/sr0                iso9660   4.3G  4.3G     0 100% /mnt
[root@localhost ~]#
[root@localhost ~]#blkid
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sda1: UUID="867f1268-61f2-4e45-9ab6-88eccd64fd56" TYPE="xfs" 
/dev/sda2: UUID="VaZEy2-n12B-oJQw-VFG0-B766-tKCg-tUhDh0" TYPE="LVM2_member" 
/dev/mapper/centos-root: UUID="813b01e7-84f9-4ff9-b7d3-66f1544d23d4" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="60f994ef-6f9c-42ee-8a8f-720261278c96" TYPE="swap" 
/dev/sdb1: UUID="7a5a002a-4717-4d0c-9716-e186053bf85f" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="093a7ddf-e23a-4b96-a7a7-3c63d47b10b8" 
[root@localhost ~]#

三、磁盘分区

其中fdisk 和 gdisk 是 写完保存生效,parted 是立刻生效。
centos 6 之前是以柱面为单位
centos 7 以后是以扇区为单位

  1. fdisk
    fdisk /dev/sdb 管理mbr分区
    MBR分区 只能分出四个主分区,或者三个主分区一个逻辑分区,第五个分区则是从逻辑分区再分
    mbr分区最大支持2T
    p 分区列表
    t 更改分区类型
    n 创建新分区
    d 删除分区
    v 校验分区
    u 转换单位 以扇区为单位还是以柱面为单位
    w 保存并退出
    q 不保存并退出
[root@localhost ~]#fdisk /dev/sdb
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.

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
# 选择p创建主分区
Partition number (2-4, default 2): 2
First sector (2099200-20971519, default 2099200): 
Using default value 2099200
# 选择起始位置。默认即可
Last sector, +sectors or +size{K,M,G} (2099200-20971519, default 20971519): +1G
Partition 2 of type Linux and of size 1 GiB is set
# 可以指定大小 或者写扇区数
Command (m for help): w
The partition table has been altered!
# w 保存
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]#

  1. gdisk
    GPT分区可以创建128个主分区。
    gdisk /dev/sdb 管理gpt分区
    p 分区列表
    t 更改分区类型
    n 创建新分区
    d 删除分区
    v 校验分区
    u 转换单位
    w 保存并退出
    q 不保存并退出
[root@localhost ~]#gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.10

Caution: invalid main GPT header, but valid backup; regenerating main header
from backup!

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: damaged

Found valid MBR and corrupt GPT. Which do you want to use? (Using the
GPT MAY permit recovery of GPT data.)
 1 - MBR
 2 - GPT
 3 - Create blank GPT

Your answer: 2
# 做实验残留的。问是使用GPT还是使用MBR
Command (? for help): n
# 创建分区
Partition number (1-128, default 1): 1
First sector (34-20971486, default = 2048) or {+-}size{KMGTP}:    
Last sector (2048-20971486, default = 20971486) or {+-}size{KMGTP}: +1G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'
# 保存并退出,这里有个分区类型,按t可以更改,l可以查看
Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
[root@localhost ~]#
[root@localhost ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   49G  0 part 
  ├─centos-root 253:0    0 45.1G  0 lvm  /
  └─centos-swap 253:1    0  3.9G  0 lvm  [SWAP]
sdb               8:16   0   10G  0 disk 
└─sdb1            8:17   0    1G  0 part 
sr0              11:0    1  4.3G  0 rom  /media
[root@localhost ~]#

  1. parted
    parted的操作都是实时生效的,小心使用
    parted /dev/sdb mklabel gpt|msdos
    parted /dev/sdb print
    parted /dev/sdb mkpart primary 1 200 (默认M)
    parted /dev/sdb rm 1
    parted –l 列出分区信息
  2. 更新分区表
[root@localhost ~]#fdisk /dev/sdb
# 如果保存的时候提示 需要更新表,就执行命令
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
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)
Syncing disks.

[root@localhost ~]#partprobe

四、磁盘格式化文件系统

  1. mkfs格式文件系统 可以使用mkfs.ext4或mkfs.xfs等 来格式相应的文件系统
[root@localhost ~]#mkfs.ext4 /dev/sdb1
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
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

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

五、分区挂载与开机自动挂载

  1. 手动挂载
root@localhost ~]#mkdir /xiapi
[root@localhost ~]#mount /xiapi /dev/sdb1
mount:  /xiapi is not a block device
[root@localhost ~]#mount  /dev/sdb1 /xiapi
[root@localhost ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   49G  0 part 
  ├─centos-root 253:0    0 45.1G  0 lvm  /
  └─centos-swap 253:1    0  3.9G  0 lvm  [SWAP]
sdb               8:16   0   10G  0 disk 
└─sdb1            8:17   0    1G  0 part /xiapi
sr0              11:0    1  4.3G  0 rom  /media
[root@localhost ~]#

  1. 开机自动挂载/etc/fstab
#查看uuid
[root@localhost ~]#blkid
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sda1: UUID="867f1268-61f2-4e45-9ab6-88eccd64fd56" TYPE="xfs" 
/dev/sda2: UUID="VaZEy2-n12B-oJQw-VFG0-B766-tKCg-tUhDh0" TYPE="LVM2_member" 
/dev/mapper/centos-root: UUID="813b01e7-84f9-4ff9-b7d3-66f1544d23d4" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="60f994ef-6f9c-42ee-8a8f-720261278c96" TYPE="swap" 
/dev/sdb1: UUID="9b2b6742-020b-4757-8c34-2653eeec0067" TYPE="ext4" 
#第一项 挂载设备 ,第二项 挂载点,第三项 文件系统,第四项 挂载选项  第五项是否备份 第六项是否坚持  0代表不
[root@localhost ~]#cat /etc/fstab | grep "^[^#]"
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=867f1268-61f2-4e45-9ab6-88eccd64fd56 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
UUID=9b2b6742-020b-4757-8c34-2653eeec0067 /xiapi  ext4  defaults   0 0

注意:

  1. uuidgen 生成UUID,使用tune2fs更改设备的uuid ,首先设备是未挂载并且是ext文件系统。
[root@localhost ~]#blkid
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sda1: UUID="867f1268-61f2-4e45-9ab6-88eccd64fd56" TYPE="xfs" 
/dev/sda2: UUID="VaZEy2-n12B-oJQw-VFG0-B766-tKCg-tUhDh0" TYPE="LVM2_member" 
/dev/mapper/centos-root: UUID="813b01e7-84f9-4ff9-b7d3-66f1544d23d4" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="60f994ef-6f9c-42ee-8a8f-720261278c96" TYPE="swap" 
/dev/sdb1: UUID="9b2b6742-020b-4757-8c34-2653eeec0067" TYPE="ext4" 
/dev/sdb2: UUID="e48fdd89-1e2f-4806-80b0-07f80236d4d9" TYPE="xfs" 
[root@localhost ~]#uuidgen
a9de4f10-a691-4bd7-b06b-932bb97ec3b4
[root@localhost ~]#tune2fs -U `uuidgen` /dev/sdb2
tune2fs 1.42.9 (28-Dec-2013)
tune2fs: Bad magic number in super-block while trying to open /dev/sdb2
Couldnt find valid filesystem superblock.
[root@localhost ~]#tune2fs -U `uuidgen` /dev/sdb1
tune2fs 1.42.9 (28-Dec-2013)
The UUID may only be changed when the filesystem is unmounted.
[root@localhost ~]#umount /dev/sdb1
[root@localhost ~]#tune2fs -U `uuidgen` /dev/sdb1
tune2fs 1.42.9 (28-Dec-2013)
[root@localhost ~]#blkid
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sda1: UUID="867f1268-61f2-4e45-9ab6-88eccd64fd56" TYPE="xfs" 
/dev/sda2: UUID="VaZEy2-n12B-oJQw-VFG0-B766-tKCg-tUhDh0" TYPE="LVM2_member" 
/dev/mapper/centos-root: UUID="813b01e7-84f9-4ff9-b7d3-66f1544d23d4" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="60f994ef-6f9c-42ee-8a8f-720261278c96" TYPE="swap" 
/dev/sdb1: UUID="f7219894-30e4-4bd3-b569-788690e7d83b" TYPE="ext4" 
/dev/sdb2: UUID="e48fdd89-1e2f-4806-80b0-07f80236d4d9" TYPE="xfs" 
[root@localhost ~]#
  1. /boot /mnt/boot none bind 0 0 fstab挂载文件夹
  2. /root/a.img /mnt/img ext4 loop 0 0 fstab 挂载文件
  3. 文件不能写uuid 因为开机的时候不能搜索到,所以文件需要写路径

猜你喜欢

转载自blog.csdn.net/liuhaoy/article/details/102638364