磁盘管理
磁盘分区方法
- 小于2T的磁盘可以使用
fdisk
命令 - 大于2T的磁盘可以使用
parted
命令,也可以使用fdisk
命令
磁盘自动挂载
/etc/rc.local
文件
- Centos7中,需要保证该文件有
x
权限
vi /etc/rc.local
mount /dev/sdb1 /mnt
/etc/fstab
文件
blkid
命令可以查看设备的UUID
vi /etc/fstab
#挂载磁盘文件(存储设备) 挂载点 指定文件系统类型 挂载的参数 是否备份磁盘 是否检查磁盘
/dev/sdb1 /mount01 xfs defaults 0 0
UUID=144738ff-0da3-4162-b574-40af379cbe9e /mnt2 xfs defaults 0 0
磁盘出现No space left on device
设备上没有剩余空间
- 磁盘的inode和block其中一个资源耗尽都会产生这个提示
- inode耗尽:出现了大量小文件,使用
df -i
查看inode信息 - block耗尽:存储的数据过多,使用
df -h
查看block信息
调整swap分区大小
将磁盘分出一部分空间给swap分区使用
#分配1G磁盘空间
dd if=/dev/zero of=/root/swap1 bs=100M count=10
#将指定磁盘空间作为swap空间使用
mkswap /root/swap1
#打开使用swap空间
swapon /root/swap1
#关闭使用swap空间
swapoff /root/swap1
#查看swap空间
free -h
系统的操作命令
fdisk
命令
管理小于2T的磁盘,所有的操作记录在内存中不会立刻生效,直到输入
w
- fdisk -l : 查看所有磁盘
已知磁盘
/dev/sdb
对磁盘进行分区操作
- d : 删除分区
- g : 创建一个新的空GPT分区表(处理大于2T的磁盘)
- l : 列出已知的分区类型
- m : 打印此菜单
- n : 添加新分区
- o : 创建新的空DOS分区表(处理小于2T的磁盘)
- p : 打印分区表
- q : 不保存更改就退出
- t : 更改分区的系统id
- u : 改变分区的方式/是否按照扇区进行划分
- w : 将表写入磁盘并退出
[root@1997sty ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x50b1173a 创建新的 DOS 磁盘标签。
命令(输入 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 获取帮助):
添加新分区,最多可以创建4个主分区或者3个主分区和1个扩展分区
- p primary (0 primary, 0 extended, 4 free)
- p 主分区(0 主分区,0 扩展分区, 4个可用)
- e extended
- e 扩展分区
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB
删除分区,如果只有1个分区就会直接删除
命令(输入 m 获取帮助):d
分区号 (1,2,默认 2):2
分区 2 已删除
添加扩展分区,需要添加逻辑分区才可以使用
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e
分区号 (2-4,默认 2):
起始 扇区 (2099200-20971519,默认为 2099200):
将使用默认值 2099200
Last 扇区, +扇区 or +size{K,M,G} (2099200-20971519,默认为 20971519):+3G
分区 2 已设置为 Extended 类型,大小设为 3 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l
添加逻辑分区 5
起始 扇区 (2101248-8390655,默认为 2101248):
将使用默认值 2101248
Last 扇区, +扇区 or +size{K,M,G} (2101248-8390655,默认为 8390655):
将使用默认值 8390655
分区 5 已设置为 Linux 类型,大小设为 3 GiB
将表写入磁盘并退出
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x7a1accec
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
/dev/sdb2 4196352 8390655 2097152 83 Linux
/dev/sdb3 8390656 16779263 4194304 5 Extended
/dev/sdb4 16779264 16781311 1024 83 Linux
/dev/sdb5 8392704 14684159 3145728 83 Linux
/dev/sdb6 14686208 16779263 1046528 83 Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
parted
命令
管理大于2T磁盘,分区后直接生效
已知磁盘
/dev/sdc
对磁盘进行分区操作
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
---- 创建新的磁盘标签(分区表)print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition
---- 显示分区表、可用设备、可用空间、所有找到的分区或特定分区mkpart PART-TYPE [FS-TYPE] START END make a partition
---- 创建一个分区quit exit program
---- 退出程序rm NUMBER delete partition NUMBER
---- 删除分区 NUMBER
[root@1997sty ~]# parted /dev/sdc
GNU Parted 3.1
使用 /dev/sdc
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
(parted)
修改磁盘分区类型
(parted) mklabel gpt
警告: The existing disk label on /dev/sdc will be destroyed and all data on this disk will be lost. Do you want to continue?
是/Yes/否/No? y
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 3221GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
磁盘分区
(parted) mkpart primary 0 2100G
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel? i
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 3221GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 17.4kB 2100GB 2100GB primary
partprobe
命令
系统重新读取分区表,不重启服务器情况下重新读取分区列表
- partprobe : 系统重新加载分区表
- partprobe /dev/sdb : 系统重新加载
/dev/sdb
分区表
mkfs
命令
(Make FileSystem) 在特定的分区上建立linux文件系统(格式化操作)
mkfs.xfs /dev/sdc1
: 在/dev/sdc
建立xfs文件系统mkfs /dev/sdc1
: 在/dev/sdc
建立ext2文件系统mkfs -t xfs /dev/sdb4
: 在/dev/sdb4
建立xfs文件系统
dd
命令
可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件 设备 标准输出
- dd if=/dev/zero of=/tmp/file1000M bs=10M count=100 : 从
/dev/zero
输入信息,输出信息到/tmp/file1000M
,每次输入10M,进行100次
常用参数
- if=文件名 : 输入文件名,默认为标准输入即指定源文件
- of=文件名 : 输出文件名,默认为标准输出即指定目的文件
- ibs=bytes : 一次读入bytes个字节,即指定一个块大小为bytes个字节
- obs=bytes : 一次输出bytes个字节,即指定一个块大小为bytes个字节
- bs=bytes : 同时设置读入/输出的块大小为bytes个字节
- cbs=bytes : 一次转换bytes个字节,即指定转换缓冲区大小
- skip=blocks : 从输入文件开头跳过blocks个块后再开始复制
- seek=blocks : 从输出文件开头跳过blocks个块后再开始复制
- count=blocks : 仅拷贝blocks个块,块大小等于ibs指定的字节数
sort
命令
可针对文本文件的内容,以行为单位来排序
- sort -n -k2 num.txt : 对第二列,依照数值的大小排序,并输出
- sort -n num.txt : 依照数值的大小排序,并输出
常用参数
- -b : 忽略每行前面开始出的空格字符
- -c : 检查文件是否已经按照顺序排序
- -d : 排序时,处理英文字母、数字及空格字符外,忽略其他的字符
- -f : 排序时,将小写字母视为大写字母
- -i : 排序时,除了040至176之间的ASCII字符外,忽略其他的字符
- -m : 将几个排序好的文件进行合并
- -M : 将前面3个字母依照月份的缩写进行排序
- -n : 依照数值的大小排序
- -o : 将排序后的结果存入指定的文件
- -r : 以相反的顺序来排序
du
命令
显示目录或文件的大小
- du : 查看当前目录下的文件和目录大小
- du -s / : 查看
/
目录的大小 - du -sh / : 查看
/
目录的大小,以K,M,G为单位,提高信息的可读性
常用参数
- -s : 显示该文件或目录的信息
- -h : 以K,M,G为单位,提高信息的可读性
最后一次更新于2019-11-29 18:55
0 条评论