查看
查看硬盘使用情况/挂载点
# df -Th
---------------------------------------------------------------------------
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda3 xfs 50G 1000M 49G 2% /
devtmpfs devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs tmpfs 3.8G 8.8M 3.8G 1% /run
tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/sda4 xfs 40G 33M 40G 1% /home
/dev/sda2 xfs 1014M 131M 884M 13% /boot
/dev/sda1 vfat 200M 12M 189M 6% /boot/efi
tmpfs tmpfs 777M 0 777M 0% /run/user/0
---------------------------------------------------------------------------
查看硬盘挂载情况
# lsblk
---------------------------------------------------------------------------
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 111.8G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
├─sda3 8:3 0 90G 0 part /
├─sda4 8:4 0 10G 0 part /home
└─sda5 8:5 0 7.8G 0 part [SWAP]
sdb 8:16 0 1.8T 0 disk
└─sdb1 8:17 0 1.8T 0 part /xxx
---------------------------------------------------------------------------
查看分区情况/类型/大小
# parted -l
--------------------------------------------------------------------
Model: ATA Maxsun 120GB A6 (scsi)
Disk /dev/sda: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 211MB 210MB fat16 EFI System Partition 启动
2 211MB 1285MB 1074MB xfs
3 1285MB 12.0GB 10.7GB xfs
4 12.0GB 20.3GB 8323MB linux-swap(v1)
5 20.3GB 120GB 99.7GB xfs
--------------------------------------------------------------------
...
# fdisk -l (弃用,请改用parted -l)
--------------------------------------------------------------------
磁盘 /dev/sdb:2000.4 GB, 2000398934016 字节,3907029168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:dos <<<<<<<<<<<< 旧的,旧的,旧的!!!!!!!
磁盘标识符:0xf1087a6c
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 3907029167 1953513560 83 Linux
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
--------------------------------------------------------------------
磁盘 /dev/sda:120.0 GB, 120034123776 字节,234441648 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt <<<<<<<<<<<< 新的,新的,新的!!!!!!!
Disk identifier: 91877FF0-C0BF-403A-895D-641FF54BFEF5
# Start End Size Type Name
1 2048 411647 200M EFI System EFI System Partition
2 411648 2508799 1G Microsoft basic
3 2508800 23480319 10G Microsoft basic
4 23480320 39735295 7.8G Linux swap
5 39735296 234440703 92.9G Microsoft basic
--------------------------------------------------------------------
磁盘 /dev/sdc:6001.2 GB, 6001175126016 字节,11721045168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
--------------------------------------------------------------------
--------------------------------------------------------------------
dos分区表的缺点在于:
1、只支持有限的分区数(MBR)
由于历史原因,分区表为主分区只预留了64K(4x16k),即4个主分区;为逻辑分区预留了384k(24x16k),即最多23个逻辑分区。
2、不支持2TB以上硬盘分区
也是历史原因,那个时候2TB还是个天文数字
--------------------------------------------------------------------
而GPT的优点如下:
1、分区表容量可扩展
一个分区依然是16k,但GPT可以扩展分区表容量,在建立GPT分区表后,可以建立一个小分区,譬如1M,用于存放分区表,这样一来,分区数量大大增加
2、没什么好说的,支持2TB以上的大分区
--------------------------------------------------------------------
linux 下fdisk 工具不支持GPT,得使用另一个GNU发布的强大分区工具parted。
fdisk支持MBR分区表,gdisk支持GPT分区表,而parted支持两者GPT和MBR
--------------------------------------------------------------------
CentOS 下建立GPT分区的方法
1、parted 或 gparted
2、gdisk
使用parted方法分区,此方法只能分区不能格式化!!
---------------------------------------------------------------------------
语法:# parted -s /dev/sdb mklabel gpt //使用gpt模式!!!!!!<<<<
---------------------------------------------------------------------------
#parted /dev/sdc //#一定要輸入硬盤名字,默認是操作第一塊硬盤
(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) mkpart primary 创建主分区<<<<<<<<<<<<<<<<<<<<<<<<<
文件系统类型? [ext2]? xfs <<<<<<<< 该方法无效???
起始点? 0% <<<<<<<<<<<<<<<<<<<<<<<<<
结束点? 100% <<<<<<<<<<<<<<<<<<<<<<<<<
(parted) p //打印分区信息<<<<<<<<<<<<<<<<<<<<<<<<<
Model: ATA ST6000NM0115-1YZ (scsi)
Disk /dev/sdc: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt <<<<分区表类型
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 6001GB 6001GB primary
//如果出现The resulting partition is not properly aligned for best performance 说明没有对齐!!!!
align-check optimal 1 //检查指定的分区是否对齐!!<<<<<<<<<<<<<<<<<<<<<<<<<
1 aligned //对齐的!
(parted) q //退出 <<<<<<<<<<<<<<<<<<<<<<<<<
信息: You may need to update /etc/fstab.
---------------------------------------------------------------------------
删除分区
# parted /dev/sdc
(parted)p
(parted)rm 1 //删除指定 1 的这个分区
分区完之后格式化和挂载即可
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 111.8G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
├─sda3 8:3 0 10G 0 part /home
├─sda4 8:4 0 7.8G 0 part [SWAP]
└─sda5 8:5 0 92.9G 0 part /
sdb 8:16 0 1.8T 0 disk
└─sdb1 8:17 0 1.8T 0 part /storage
sdc 8:32 0 5.5T 0 disk
└─sdc1 8:33 0 5.5T 0 part /storage2
格式化磁盘
# mkfs -t xfs /dev/sdb1 或者下面这个方法
# mkfs.xfs -f /dev/sdb1 强制格式化!
# mkfs -t ext4 /dev/sdb1 或者下面这个方法
与XFS相比,Ext4处理的文件较小,例如,RHEL 7中Ext4的最大支持大小为16TB ,而XFS中为500TB。(如果硬盘少于16TB都建议使用Ext4,大于则使用xfs )
从结果上看,在固态硬盘上似乎 Ext4 是一个更好的选择,在吞吐量上比 xfs 提升了 20%。
---------------------------------------------------------------------------
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=122094598 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=488378390, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=238466, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
---------------------------------------------------------------------------
查看格式化后的格式
# blkid //所有
/dev/sdb1: UUID="0495c775-8044-4e95-b3a6-1c3eb32565a6" TYPE="xfs"
/dev/sda1: SEC_TYPE="msdos" UUID="C443-075D" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="a7a1c480-d3c8-4527-9131-fcb1f4dd7191"
/dev/sda2: UUID="793adbfd-36aa-4550-bbae-7dffe3b3fc25" TYPE="xfs" PARTUUID="a281021f-1230-4688-b4bd-18ad723111be"
/dev/sda3: UUID="023714d2-c007-4423-80e9-7fd0e7f39447" TYPE="xfs" PARTUUID="1fb59f8c-cc8c-4672-867f-e0314063463a"
/dev/sda4: UUID="0c639bba-a4c8-48e2-9775-5d079037adef" TYPE="swap" PARTUUID="5204f1d7-48c8-46e8-9b8b-dcc58874ba49"
/dev/sda5: UUID="55630d81-4eba-4dc2-9586-5d38b46ecc0e" TYPE="xfs" PARTUUID="bca13833-068d-4c80-9106-26ee746ffef8"
/dev/sdc1: UUID="bb0a8358-a291-4970-98dd-56f8f2ba7494" TYPE="xfs" PARTLABEL="primary" PARTUUID="2a772366-d8e5-4927-8937-08d65b21ea79"
------------------------------------
# blkid /dev/sdb1 //查看指定分区属性
/dev/sdb1: UUID="1e2d7144-a4d1-4c88-8e95-afbdeacd5256" TYPE="xfs"
---------------------------------------------------------------------------
进行挂载 //临时挂载
# mkdir /storage
# mount /dev/sdb1 /storage //临时挂载!<<<<<<<<<<<<<<<<<<<
61.卸载
# umount /dev/sdb1 <<<<<<<<<<指分区
[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda3 xfs 50G 1000M 49G 2% /
devtmpfs devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs tmpfs 3.8G 8.8M 3.8G 1% /run
tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/sda4 xfs 40G 33M 40G 1% /home
/dev/sda2 xfs 1014M 131M 884M 13% /boot
/dev/sda1 vfat 200M 12M 189M 6% /boot/efi
tmpfs tmpfs 777M 0 777M 0% /run/user/0
设置开机挂载 //永久挂载
到 /etc/fstab 下配置挂载信息,添加一条记录。
# vi /etc/fstab
---------------------------------------------------------------------------
UUID=55630d81-4eba-4dc2-9586-5d38b46ecc0e / xfs defaults 0 0
UUID=793adbfd-36aa-4550-bbae-7dffe3b3fc25 /boot xfs defaults 0 0
UUID=C443-075D /boot/efi vfat umask=0077,shortname=winnt 0 0
UUID=023714d2-c007-4423-80e9-7fd0e7f39447 /home xfs defaults 0 0
UUID=0c639bba-a4c8-48e2-9775-5d079037adef swap swap defaults 0 0
UUID=0495c775-8044-4e95-b3a6-1c3eb32565a6 /storage xfs defaults 0 0
UUID=bb0a8358-a291-4970-98dd-56f8f2ba7494 /storage2 xfs defaults 0 0
//外部设备在插入时挂载,在未插入时忽略。这需要 nofail 选项,可以在启动时若设备不存在直接忽略它而不报错
UUID=bb0a8358-a291-4970-98dd-56f8f2ba7494 /storage2 xfs defaults,nofail 0 0
第四列<parameters>
文件系统的参数
Async/sync 设置是否为同步方式运行,默认为async
auto/noauto 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
rw/ro 是否以以只读或者读写模式挂载
exec/noexec 限制此文件系统内是否能够进行”执行”的操作
user/nouser 是否允许用户使用mount命令挂载
suid/nosuid 是否允许SUID的存在
Usrquota 启动文件系统支持磁盘配额模式
Grpquota 启动文件系统对群组磁盘配额模式的支持
Defaults 同事具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置
第五列<dump>
能否被dump备份命令作用。dump是一个用来作为备份的命令。通常这个参数的值为0或者1
0 代表不要做dump备份
1 代表要每天进行dump的操作
2 代表不定日期的进行dump操作
第六列<fsck>
是否检验扇区。开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)
0 不要检验
1 最早检验(一般根目录会选择)
2 1级别检验完成之后进行检验
.....
/dev/sdb1 /storage xfs defaults 0 0 不推荐这种方式(/dev/sdb1) /当磁盘乱序时无法正确加载(当硬盘更换主板上的SATA3接口(位置)时,顺序变化会产生影响)
---------------------------------------------------------------------------
测试fstab文件是否正常运行
# mount -a
关于swap通常在传统机械硬盘上表现更好,在SSD上使用swap可能会造成问题
//尤其是硬件老化之后。所以,对于DigitalOcean以及其他使用基于SSD的云主机服务的用户,我们不推荐启用swap。
# free -m //查看系统的整体内存使用情况
---------------------------------------------------------------------------
total used free shared buff/cache available
Mem: 7768 360 7160 70 247 7096
Swap: 7936 0 7936
---------------------------------------------------------------------------
//swappiness参数决定了系统将数据从内存交换到swap空间的频率,数值设置在0到100之间,代表系统将数据从内存交换到swap空间的力度。
//该数值越接近于0,系统越倾向于不进行swap,仅在必要的时候进行swap操作。由于swap要比内存慢很多,因此减少对swap的依赖意味着更高的系统性能。
//该数值越接近于100,系统越倾向于多进行swap。有些应用的内存使用习惯更适合于这种情况,这也与服务器的用途有关。
查看当前的swappiness数值
# cat /proc/sys/vm/swappiness
//临时修改:
sysctl vm.swappiness=0
//本次修改将一直生效到下次重启前。如果希望永久修改该数值,则需要编辑sysctl配置文件
//vi /etc/sysctl.conf
---------------------------------------------------------------------------
vm.swappiness = 0 //将以下内容粘贴到文件末尾:
---------------------------------------------------------------------------
//或者执行以下句子
# echo "vm.swappiness = 0">> /etc/sysctl.conf
刷新SWAP
//可以执行命令刷新一次SWAP(将SWAP里的数据转储回内存,并清空SWAP里的数据)
# swapoff -a && swapon -a
使命令生效
# sysctl -p
sgdisk -b=sgdisk-sdb.bin /dev/sdb
sgdisk -l=sgdisk-sdb.bin /dev/sdb
inode,索引节点
inode32:支持4294967295(约42亿个文件索引)
inode64:支持4294967295(约42亿个文件索引)
当指定inode32时,它表示XFS将inode创建限制在不会导致inode编号超过32位的位置。
当指定inode64时,它表示允许XFS在文件系统中的任何位置创建索引节点,包括那些会导致索引节点号占用超过32位的位置。
inode32是为了向后兼容旧的系统和应用程序而提供的,因为64位inode号可能会给某些应用程序带来问题
不能处理大量索引节点的。如果正在使用的应用程序不能处理大于32位的inode号,则应该指定inode32选项。
对于内核v3.7及更高版本,inode64是默认的。
索引节点,它用来存放档案及目录的基本信息,包含时间、档名、使用者及群组等。
通常,文件系统磁盘空间中大约百分之一空间分配给了 inode 表。
如果inode满了,即使磁盘有空间也写不进去:(这就是通常硬盘还有空间,但是无法写入文件的错误,因为inode满了,如16TB的硬盘无法写入时可以查看inode信息)
#查看inode占用:
# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs 2039623 468 2039155 1% /dev
tmpfs 2043998 1 2043997 1% /dev/shm
tmpfs 2043998 700 2043298 1% /run
tmpfs 2043998 17 2043981 1% /sys/fs/cgroup
/dev/sda4 51176960 115966 51060994 1% /
/dev/sdb1 58720032 4330422 54389610 8% /tmp
/dev/sda2 524288 19 524269 1% /boot
/dev/sda1 0 0 0 - /boot/efi
tmpfs 2043998 5 2043993 1% /run/user/0
192.168.0.80:/storage80 1562587712 41132351 1521455361 3% /storage80
192.168.0.80:/storage80/storage 586052096 47061017 538991079 9% /storage80/storage
192.168.0.80:/storage80/videos/video1 1562587712 44883973 1517703739 3% /storage80/videos/video1
192.168.0.80:/storage80/videos/video2 1562587712 17901456 1544686256 2% /storage80/videos/video2