linux系统管理—存储管理
1概述
Linux的磁盘管理是Linux管理员非常重要的必须技能,现在的Ubuntu,红帽。都已经可以使用LVM进行分区管理,也就是自动分配增长分区功能。看起来好像,不需要使用磁盘管理,磁盘可以自动管理。但是,我们的磁盘坏了,需要更新或者系统需要扩容,增加新的硬盘,这时候就必须要使用fdisk和parted命令进行管理。但是如果超过2T的磁盘,fdisk将不能应用,可以使用parted命令对超过2T的磁盘进行管理。
1.1 fdisk磁盘处理
1.1.1 查看新加的磁盘信息
[root@jsmongodb ~]# ll /dev/sd*
brw-rw---- 1 root disk 8, 0 3月 12 2019 /dev/sda
brw-rw---- 1 root disk 8, 1 3月 12 2019 /dev/sda1
brw-rw---- 1 root disk 8, 2 3月 12 2019 /dev/sda2
brw-rw---- 1 root disk 8, 16 3月 12 2019 /dev/sdb
brw-rw---- 1 root disk 8, 32 3月 12 2019 /dev/sdc
[root@jsmongodb ~]# fdisk -l /dev/sdb
1.1.2 处理磁盘
[root@jsmongodb ~]# fdisk /dev/sdb
命令(输入 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)
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-167772159,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-167772159,默认为 167772159):
将使用默认值 167772159
分区 1 已设置为 Linux 类型,大小设为 80 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:85.9 GB, 85899345920 字节,167772160 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc761dc5b
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 167772159 83885056 83 Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
1.2parted命令
parted命令只能针对gpt格式的磁盘进行操作,所以这里必须将新建的磁盘标签格式设为gpt。
PART-TYPE(分区类型)primary 主分区,logical,逻辑分区,extended
扩展分区。
交互式手动按序交互式的创建;
非交互式可将命令行写在脚本中,运行脚本实现一键创建;适用于远程批量管理多台主机的场景。
1.2.1 交互式方式实现分区
1 选择操作磁盘
parted /dev/sdb
GNU Parted 2.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
2 磁盘标签类型为GPT
mklabel gpt
(parted) mklabel gpt
(parted)
3 /dev/sdb整个空间分给同一个分区-方法1
(parted) mkpart primary
文件系统类型? [ext2]? ext4 ##属于类型
起始点? 1 ##启示点
结束点? 318GB ##结束点,可以是320G,选择318GB。
(parted) p ##打印
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 344GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name 标志
1 1049kB 318GB 318GB primary
4 /dev/sdb整个空间分给同一个分区-方法2
mkpart primary 0 -1
忽略/Ignore/放弃/Cancel? I
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 344GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name 标志
1 17.4kB 344GB 344GB primary
1.2.2 非交互式方式实现脚本
# 新建/dev/sdb的磁盘标签类型为GPT
parted /dev/sdb mklabel gpt
# 将/dev/sdb整个空间分给同一个分区
parted /dev/sdb mkpart primary 0 100%
# 忽略警告
ignore
# 格式化分区
mkfs -t ext4 /dev/sdb1
1.3 格式化磁盘与暂挂磁盘
[root@jsmongodb ~]# mkfs.xfs /dev/sdb1
[root@jsmongodb ~]# mkdir /app
修改/etc/fstab文件实现开机自动挂载
[root@jsmongodb ~]# vim /etc/fstab
/dev/sdb1 /app xfs defaults 0 0
[root@jsmongodb ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root 50G 2.9G 48G 6% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 88K 1.9G 1% /dev/shm
tmpfs 1.9G 9.0M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 497M 157M 340M 32% /boot
/dev/mapper/rhel-home 26G 36M 26G 1% /home
tmpfs 378M 4.0K 378M 1% /run/user/42
tmpfs 378M 12K 378M 1% /run/user/0
[root@jsmongodb ~]# mount -a
[root@jsmongodb ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root 50G 2.9G 48G 6% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 88K 1.9G 1% /dev/shm
tmpfs 1.9G 9.0M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 497M 157M 340M 32% /boot
/dev/mapper/rhel-home 26G 36M 26G 1% /home
tmpfs 378M 4.0K 378M 1% /run/user/42
tmpfs 378M 12K 378M 1% /run/user/0
/dev/sr0 3.8G 3.8G 0 100% /run/media/root/RHEL-7.2 Server.x86_64
/dev/sdb1 80G 33M 80G 1% /app