2018.8.2
4.1 df命令
4.2 du命令
4.3/4.4 磁盘分区
扩展学习 parted分区gpt格式 http://www.apelearn.com/bbs/thread-7243-1-1.html (复制链接,直接点显示404)
一、df命令
命令df(disk filesystem)用于查看盘的信息 默认以K为单位;
[root@linux-151 ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda3 16561152 1109608 15451544 7% /
devtmpfs 928056 0 928056 0% /dev
tmpfs 937872 0 937872 0% /dev/shm
tmpfs 937872 8804 929068 1% /run
tmpfs 937872 0 937872 0% /sys/fs/cgroup
/dev/sda1 201380 111468 89912 56% /boot
tmpfs 187576 0 187576 0% /run/user/0
-
tmpfs、devtmpfs 临时的文件系统,/dev、/dev/shm 为内存分区,默认大小为内存的1/2,如果我们把文件放在这个分区下,相当于放在内存中,好处是读写速度很快,坏处是系统重启文件会丢失;
这里我们只看到了装系统时分的/分区和/boot分区;swap分区没看到,我们可以是free命令查看:
[root@linux-151 ~]# free
total used free shared buff/cache available
Mem: 1875748 133240 1504172 8820 238336 1568400Swap: 4194300 0 4194300
默认单位是KB
-
df -k 以K为单位
-
df -m 以m为单位
-
df -h 以合适单位来显示
-
df -i 以inode来显示
-
df -T 可用显示磁盘文件类型
df -k
[root@linux-151 ~]# df -k
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda3 16561152 1109492 15451660 7% /
devtmpfs 928056 0 928056 0% /dev
tmpfs 937872 0 937872 0% /dev/shm
tmpfs 937872 8804 929068 1% /run
tmpfs 937872 0 937872 0% /sys/fs/cgroup
/dev/sda1 201380 111468 89912 56% /boot
tmpfs 187576 0 187576 0% /run/user/0
df -m
[root@linux-151 ~]# df -m
文件系统 1M-块 已用 可用 已用% 挂载点
/dev/sda3 16173 1084 15090 7% /
devtmpfs 907 0 907 0% /dev
tmpfs 916 0 916 0% /dev/shm
tmpfs 916 9 908 1% /run
tmpfs 916 0 916 0% /sys/fs/cgroup
/dev/sda1 197 109 88 56% /boot
tmpfs 184 0 184 0% /run/user/0
df -h
[root@linux-151 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 16G 1.1G 15G 7% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 109M 88M 56% /boot
tmpfs 184M 0 184M 0% /run/user/0
df -i
[root@linux-151 ~]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda3 8285696 28104 8257592 1% /
devtmpfs 232014 392 231622 1% /dev
tmpfs 234468 1 234467 1% /dev/shm
tmpfs 234468 472 233996 1% /run
tmpfs 234468 16 234452 1% /sys/fs/cgroup
/dev/sda1 102400 330 102070 1% /boot
tmpfs 234468 1 234467 1% /run/user/0
注意:inode号是磁盘格式化的时候就自动按一定的比例4k:1分配好了,当创建一个文件是就会拿一个inode给这个文件使用。inode里面存的是文件的相关属性比如大小,权限,属组和存在磁盘的位置,如果创建文件提示空间不够,但是df查看磁盘空间的时候,发现还有空间,但是就是创建不了,这个时候就应该是inode被占满了,可以通过删除文件来回收inode
df -T
可用显示磁盘文件类型
[root@linux-151 ~]# df -T
文件系统 类型 1K-块 已用 可用 已用% 挂载点
/dev/sda3 xfs 16561152 1109492 15451660 7% /
devtmpfs devtmpfs 928056 0 928056 0% /dev
tmpfs tmpfs 937872 0 937872 0% /dev/shm
tmpfs tmpfs 937872 8804 929068 1% /run
tmpfs tmpfs 937872 0 937872 0% /sys/fs/cgroup
/dev/sda1 xfs 201380 111468 89912 56% /boot
tmpfs tmpfs 187576 0 187576 0% /run/user/0
二、 du命令
命令du(disk useage)用来查看某个目录或文件所占空间的大小
-
du -s 查看目录本身
-
du –c表示最后加总,不常用
-
du -h 表示系统自动调节单位,
-
du -sb 以字节(b)单位,可以查看文件真实大小
-
du -k 以k为单位
-
du -m 以m为单位
[root@linux-151 ~]# du -s /tmp/144 /tmp/
[root@linux-151 ~]# du -sh /root128K /root
[root@linux-151 ~]# du -c /root16 /root/.ssh
0 /root/123128 /root
128 总用量
-
du -sb 查看文件的真实大小,和ls -lb查看大小一样(它们单位为b字节)
[root@linux-151 ~]# du -sb /root/anaconda-ks.cfg1422 /root/anaconda-ks.cfg
[root@linux-151 ~]# ls -lb /root/anaconda-ks.cfg
-rw-------. 1 root root 1422 4月 9 23:35 /root/anaconda-ks.cfg
-
anaconda-ks.cfg实际大小是1.4K,占用了1个block,所以du –k查看时4k
[root@linux-151 ~]# du -k /root/anaconda-ks.cfg4 /root/anaconda-ks.cfg
[root@linux-151 ~]# ls -lh /root/anaconda-ks.cfg
-rw-------. 1 root root 1.4K 4月 9 23:35 /root/anaconda-ks.cfg
-
du -sh 和ls -lh 查看文件大小的区别:
-
对于同一个文件,一般du -sh 出来的比ls -lh 的要大,这是由于k引起来的。原因是在格式化磁盘分区时,磁盘会被分割成一个个的block块,一个block是4K大小,且一个block只能放一个文件,如果这个文件很大,如大于4K,一个block是放不了的,需要另放在其他的块里;如果一个文件很小,不到4K,这个快也不会再放其他的文件了,这样du -sh其实是读取文件的block的大小,ls -lh读取的是文件本身大小。如果一个文件的大小正好是4K或者4K的倍数,则du -sh 和ls -lh读取的大小是一样的
三、 磁盘分区
增加虚拟磁盘
在当前的虚拟机选项卡点击鼠标右键,选择”设置”;
此时会弹出”虚拟机设置”对话框。在左侧选中”硬盘”,然后点击下方的”添加”按钮;
“添加硬件向导”中“硬件类型”选择硬盘,点击下一步;
“选择磁盘类型”这里保持默认不用更改任何指标,直接点击”下一步”按钮;
“选择磁盘”对话框里也保持默认,直接点击”下一步”按钮;
“指定磁盘容量”这里可以自由分配大小,设定”最大磁盘大小”为20GB,点击下一步;
继续点击”完成”按钮,最终完成添加新的虚拟机磁盘。虽然磁盘已经添加了,但系统暂时还不能被识别,需要重启一下系统才可以。
fdisk命令
-
fdisk -l 查看磁盘分区信息
-
fdisk -l /dev/sda 查看指定磁盘分区信息
-
fdisk 只能划分小于2T的分区,超过2T要用part来分区。
-
主分区+扩展分区大于等于4
-
扩展分区下面可以建逻辑分区,逻辑分区从sdb5开始
[root@linux-151 ~]# fdisk -l
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000402aa
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 8800255 4194304 82 Linux swap / Solaris
/dev/sda3 8800256 41943039 16571392 83 Linux
[root@linux-151 ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
-
fdisk 命令如果不加-l选项,就会进入磁盘分区模式
[root@linux-151 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xa74ee364 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):
分区最常用的几个命令:
-
p :表示打印当前磁盘的分区情况
-
n:表示建立一个新的分区
-
w:表示保存
-
q:表示退出
-
d:表示删除已分区
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa74ee364
设备 Boot Start End Blocks Id System
创建分区:
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
注意:这里的p表示主分区,e表示扩展分区,l表示逻辑分区
创建第一个主分区:
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5
分区 1 已设置为 Linux 类型,大小设为 3 KiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa74ee364
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2053 3 83 Linux
创建第二个主分区:
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (2054-41943039,默认为 4096):
将使用默认值 4096Last 扇区, +扇区 or +size{K,M,G} (4096-41943039,默认为 41943039):+2G
分区 2 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa74ee364
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2053 3 83 Linux
/dev/sdb2 4096 4198399 2097152 83 Linux
第三个主分区:
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (2054-41943039,默认为 4198400):
将使用默认值 4198400Last 扇区, +扇区 or +size{K,M,G} (4198400-41943039,默认为 41943039):+1G
分区 3 已设置为 Linux 类型,大小设为 1 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa74ee364
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2053 3 83 Linux
/dev/sdb2 4096 4198399 2097152 83 Linux
/dev/sdb3 4198400 6295551 1048576 83 Linux
第4个主分区:
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5No free sectors available
命令(输入 m 获取帮助):d
分区号 (1-4,默认 4):4
分区 4 已删除
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extendedSelect (default e): p
已选择分区 4
起始 扇区 (2054-41943039,默认为 6295552):
将使用默认值 6295552Last 扇区, +扇区 or +size{K,M,G} (6295552-41943039,默认为 41943039):+5G
分区 4 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa74ee364
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2053 3 83 Linux
/dev/sdb2 4096 4198399 2097152 83 Linux
/dev/sdb3 4198400 6295551 1048576 83 Linux
/dev/sdb4 6295552 16781311 5242880 83 Linux
-
注意:创建完4个主分区后,我们再想创建新分区的时候,提示:如果你想创建超过四个分区,你必须换一个主分区和一个扩展分区。
命令(输入 m 获取帮助):n
If you want to create more than four partitions, you must replace a
primary partition with an extended partition first.
我们删除一个主分区,分区号4
命令(输入 m 获取帮助):d
分区号 (1-4,默认 4):4
分区 4 已删除
创建扩展分区:
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e
已选择分区 4
起始 扇区 (2054-41943039,默认为 6295552):
将使用默认值 6295552Last 扇区, +扇区 or +size{K,M,G} (6295552-41943039,默认为 41943039):+5
分区 4 已设置为 Extended 类型,大小设为 3 KiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa74ee364
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2053 3 83 Linux
/dev/sdb2 4096 4198399 2097152 83 Linux
/dev/sdb3 4198400 6295551 1048576 83 Linux
/dev/sdb4 6295552 6295557 3 5 Extended
创建扩展分区后,我们再创建分区的时候:提示只能创建逻辑分区了
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (6297600-12587007,默认为 6297600):
将使用默认值 6297600Last 扇区, +扇区 or +size{K,M,G} (6297600-12587007,默认为 12587007):+2G
分区 5 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa74ee364
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2053 3 83 Linux
/dev/sdb2 4096 4198399 2097152 83 Linux
/dev/sdb3 4198400 6295551 1048576 83 Linux
/dev/sdb4 6295552 12587007 3145728 5 Extended
/dev/sdb5 6297600 10491903 2097152 83 Linux
注意:如果觉得分区错误,想重新分区,可以按q回车直接退出,然后再重新分区; 如果不想要某个分区,可以按d 回车删除相应的分区号。
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xf9e111da
设备 Boot Start End Blocks Id System
/dev/sdb1 6293504 16779263 5242880 5 Extended
/dev/sdb3 2048 6293503 3145728 83 Linux
/dev/sdb5 6295552 8392703 1048576 83 Linux
/dev/sdb6 8394752 10491903 1048576 83 Linux
/dev/sdb7 10493952 16779263 3142656 83 Linux
上面例子 分了1个主分区/dev/sdb3 ,一个扩展分区/dev/sdb1,其他的全是逻辑分区, 逻辑分区号一定是从5开始,连续的,前4个分区号是留个主分区和扩展分区。
-
注意:扩展分区不能格式化,不支持写数据;扩展分区相当于一个盒子,里面是逻辑分区。数据都写在逻辑分区中。
磁盘格式化/ 磁盘挂载 /手动增加swap空间
4.5/4.6 磁盘格式化
4.7/4.8 磁盘挂载
4.9 手动增加swap空间
一、磁盘格式化
/etc/filesystems 查看系统支持哪些文件系统格式
[root@linux-151 ~]# cat /etc/filesystems
xfs //centos7默认文件系统
ext4 //centos6
ext3 //centos5
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*
怎么查看一个分区的系统文件格式:
[root@linux-151 ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=928056k,nr_inodes=232014,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
configfs on /sys/kernel/config type configfs (rw,relatime)
**/dev/sda3 on / type _xfs_ (rw,relatime,attr2,inode64,noquota)**
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
**/dev/sda1 on /boot type_ xfs_ (rw,relatime,attr2,inode64,noquota)**
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=187576k,mode=700)
mke2fs命令
-
设置文件系统格式;常见的选项:
-
-t 系统文件类型
-
-b 块大小,每个数据块占用的空间大小,每个数据库支持1024B,2048B以及4096B。
-
-m 预留大小 1就是1%
-
-L 标示分区标签 label
-
-i 设定inode的大小,多少个块对应1个inode,默认4个块,16k
-
-N 设定inode的数量
[root@linux-151 ~]# mke2fs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks //1:439321 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=80530636824 block groups
32768 blocks per group, 32768 fragments per group8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@linux-151 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="497c380a-737f-4a43-8370-c78a15b24f15" TYPE="ext4"
-
mke2fs -t ext4 /dev/sdb1====mkfs.ext4 /dev/sdb1 结果相同
-
mke2fs 不支持把分区格式化成xfs类型,只能使用mkfs.xfs
[root@linux-151 ~]# mkfs.xfs /dev/sdb1mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (ext4).mkfs.xfs: Use the -f option to force overwrite.
mkfs.xfs /dev/sdb1 设置系统类型为xfs时,会报错,必须加上-f 选项;
[root@linux-151 ~]# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=196608 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=786432, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@linux-151 ~]# blkid /dev/sdb1/dev/sdb1: UUID="9a805ee5-5f7e-4c1e-a8d3-11806434631a" TYPE="xfs"
-
-i 设置inode,设置成2个块对应1个inode,inode变多
[root@linux-151 ~]# mke2fs -i 8192 -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
393216 inodes, 786432 blocks
39321 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=80530636824 block groups
32768 blocks per group, 32768 fragments per group16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
-
mke2fs -b 设置块大小,什么情况块设置大呢,一般用在大文件视频之类的,小文件块最好设置小一点。
[root@linux-151 ~]# mke2fs -b 8192 -t ext4 /dev/sdb1
Warning: blocksize 8192 not usable on most systems.
mke2fs 1.42.9 (28-Dec-2013)
mke2fs: 8192-byte blocks too big for system (max 4096)
无论如何也要继续? (y,n) y
Warning: 8192-byte blocks too big for system (max 4096), forced to continue
warning: 48 blocks unused.
文件系统标签=
OS type: Linux
块大小=8192 (log=3)
分块大小=8192 (log=3)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 393168 blocks
19657 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4026040326 block groups
65528 blocks per group, 65528 fragments per group32768 inodes per group
Superblock backups stored on blocks:
65528, 196584, 327640
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
-
mke2fs -m 指定分区预留的空间,mkfs.xfs 不支持 -m选项。
[root@linux-151 ~]# mke2fs -m 0.1 -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks
786 blocks (0.10%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=80530636824 block groups
32768 blocks per group, 32768 fragments per group8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
-
注意:扩展分区是不能够格式化的,他是一个壳,里面的逻辑分区才能格式化
-
我们可以不分区直接格式化。
-
mkfs.xfs -f /dev/sdb
二、磁盘挂载
-
磁盘分区和格式化后,我们要做的是挂载,只有挂载后才能将数据写进磁盘中,在挂在分区前,需要建立一个挂在点,这个挂载点是以目录的形式出现,一旦把某个分区挂载到这个目录下,在往这个目录下写数据时,就都会写到该分区中,所以在挂载该分区前,挂载点下必须是空目录。其实目录不为空并不影响所挂载分区的使用,但一旦挂载上,该目录下以前的数据就看不到了(数据并非丢失),卸载该分区后,数据恢复。
-
一个挂载点只能给一个分区进行服务,假设有两个分区放在一个挂载点下,只能服务第二个分区,第二个会覆盖第一个,但是卸载掉第二个,第一个分区的数据就会出现
mount命令
mount命令可以查看当前系统已经挂载的所以分区,分区文件系统的类型,挂载点及一些选项信息。
挂载
-
mount [分区] [挂载点]
[root@linux-151 ~]# mount /dev/sdb1 /mnt
[root@linux-151 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 16G 1.1G 15G 7% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 109M 88M 56% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/sdb1 2.9G 9.0M 2.9G 1% /mnt
-
umount 卸载
[root@linux-151 ~]# mount /dev/sdb1 /mnt
[root@linux-151 ~]# cd /mnt
[root@linux-151 mnt]# umount /dev/sdb1
umount: /mnt:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
这个时候我们要退出这个目录,在卸载
[root@linux-151 mnt]# cd[root@linux-151 ~]# umount /dev/sdb1
或者使用-l 选项
[root@linux-151 ~]# mount /dev/sdb1 /mnt[root@linux-151 ~]# cd /mnt[root@linux-151 mnt]# umount -l /dev/sdb1
开机自动挂载
第一种方法:vim /etc/fstab 直接将相关的挂载信息直接写入文件中
mount -a 会自动加载配置文件所有的配置
mount -o noatime,rw /dev/sdb1 /mnt 利用-o指定一些选项,如果不指定就为defaults
mount 可以查看加载了哪些相关选项
# /etc/fstab# Created by anaconda on Tue Jul 26 20:11:16 2016## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#第一段 第二段 第三段 第四段 第五段 第六段#设备分区名或UUID 挂载点 系统文件类型 挂载选项 是否数据备份 开机是否
检测磁盘
(1的优先级高于2)
#defaults=rw,suid,dev,exec,auto,nouser,asyc
UUID=72cb5a39-c73a-466d-9207-5ef7ece5fd0d / ext4 defaults 1 1
UUID=51abe72d-14e4-4ab6-86df-fe446bb58487 /boot ext4 defaults 1 2
UUID=ed7b2cfc-cfa3-4993-b8a6-b04eb14f74f6 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
写入配置文件/etc/fstab后要mount -a
-a 会将/etc/fstab里面的所有分区挂载上
第二种方法:vim /etc/rc.local 其他启动会加载哪些设置
可以将mount /dev/sdb5 /mnt/ 命令直接写入/etc/rc.local文件,重启系统时文件会自动执行命令挂载了
blkid 获取分区的uuid和table
三、手动增加swap空间
如果需要虚拟内存不够的情况,就必须增加一个虚拟磁盘,增加虚拟磁盘的基本思路: 建立swapfile-> 格式化为swap格式->启用该虚拟磁盘
建立swapfile
[root@linux-151 ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,0.394181 秒,266 MB/秒
dd命令:操作磁盘;if指定源(一般是写/dev/zero,它是UNIX系统特有的一个文件,它可以源源不断的提供“0”)of指定目标文件,bs定义块大小,count定义块的数量,bs和count这个两个参数决定了目标文件大小,目标文件大小=bs*count。
格式化
[root@linux-151 mnt]# mkswap -f /tmp/newdisk
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=3c1465ff-5837-4ecf-948d-7d5719b382c4
文件格式化后,就可以挂载使用
-
free -m 查看内存使用情况
[root@linux-151 mnt]# free -m
total used free shared buff/cache available
Mem: 1831 113 1459 8 259 1545Swap: 4095 0 4095
加载swap
[root@linux-151 mnt]# swapon /tmp/newdisk
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。//虽然提示不安全,但事实已经挂载成功
[root@linux-151 mnt]# blkid /tmp/newdisk
/tmp/newdisk: UUID="3c1465ff-5837-4ecf-948d-7d5719b382c4" TYPE="swap"
卸载swap
[root@linux-151 mnt]# swapoff /tmp/newdisk
磁盘格式化/ 磁盘挂载 /手动增加swap空间
4.5/4.6 磁盘格式化
4.7/4.8 磁盘挂载
4.9 手动增加swap空间
一、磁盘格式化
/etc/filesystems 查看系统支持哪些文件系统格式
[root@linux-151 ~]# cat /etc/filesystems
xfs //centos7默认文件系统
ext4 //centos6
ext3 //centos5
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*
怎么查看一个分区的系统文件格式:
[root@linux-151 ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=928056k,nr_inodes=232014,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
configfs on /sys/kernel/config type configfs (rw,relatime)
**/dev/sda3 on / type _xfs_ (rw,relatime,attr2,inode64,noquota)**
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
**/dev/sda1 on /boot type_ xfs_ (rw,relatime,attr2,inode64,noquota)**
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=187576k,mode=700)
mke2fs命令
-
设置文件系统格式;常见的选项:
-
-t 系统文件类型
-
-b 块大小,每个数据块占用的空间大小,每个数据库支持1024B,2048B以及4096B。
-
-m 预留大小 1就是1%
-
-L 标示分区标签 label
-
-i 设定inode的大小,多少个块对应1个inode,默认4个块,16k
-
-N 设定inode的数量
[root@linux-151 ~]# mke2fs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks //1:439321 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=80530636824 block groups
32768 blocks per group, 32768 fragments per group8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@linux-151 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="497c380a-737f-4a43-8370-c78a15b24f15" TYPE="ext4"
-
mke2fs -t ext4 /dev/sdb1====mkfs.ext4 /dev/sdb1 结果相同
-
mke2fs 不支持把分区格式化成xfs类型,只能使用mkfs.xfs
[root@linux-151 ~]# mkfs.xfs /dev/sdb1mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (ext4).mkfs.xfs: Use the -f option to force overwrite.
mkfs.xfs /dev/sdb1 设置系统类型为xfs时,会报错,必须加上-f 选项;
[root@linux-151 ~]# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=196608 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=786432, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@linux-151 ~]# blkid /dev/sdb1/dev/sdb1: UUID="9a805ee5-5f7e-4c1e-a8d3-11806434631a" TYPE="xfs"
-
-i 设置inode,设置成2个块对应1个inode,inode变多
[root@linux-151 ~]# mke2fs -i 8192 -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
393216 inodes, 786432 blocks
39321 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=80530636824 block groups
32768 blocks per group, 32768 fragments per group16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
-
mke2fs -b 设置块大小,什么情况块设置大呢,一般用在大文件视频之类的,小文件块最好设置小一点。
[root@linux-151 ~]# mke2fs -b 8192 -t ext4 /dev/sdb1
Warning: blocksize 8192 not usable on most systems.
mke2fs 1.42.9 (28-Dec-2013)
mke2fs: 8192-byte blocks too big for system (max 4096)
无论如何也要继续? (y,n) y
Warning: 8192-byte blocks too big for system (max 4096), forced to continue
warning: 48 blocks unused.
文件系统标签=
OS type: Linux
块大小=8192 (log=3)
分块大小=8192 (log=3)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 393168 blocks
19657 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4026040326 block groups
65528 blocks per group, 65528 fragments per group32768 inodes per group
Superblock backups stored on blocks:
65528, 196584, 327640
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
-
mke2fs -m 指定分区预留的空间,mkfs.xfs 不支持 -m选项。
[root@linux-151 ~]# mke2fs -m 0.1 -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks
786 blocks (0.10%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=80530636824 block groups
32768 blocks per group, 32768 fragments per group8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
-
注意:扩展分区是不能够格式化的,他是一个壳,里面的逻辑分区才能格式化
-
我们可以不分区直接格式化。
-
mkfs.xfs -f /dev/sdb
二、磁盘挂载
-
磁盘分区和格式化后,我们要做的是挂载,只有挂载后才能将数据写进磁盘中,在挂在分区前,需要建立一个挂在点,这个挂载点是以目录的形式出现,一旦把某个分区挂载到这个目录下,在往这个目录下写数据时,就都会写到该分区中,所以在挂载该分区前,挂载点下必须是空目录。其实目录不为空并不影响所挂载分区的使用,但一旦挂载上,该目录下以前的数据就看不到了(数据并非丢失),卸载该分区后,数据恢复。
-
一个挂载点只能给一个分区进行服务,假设有两个分区放在一个挂载点下,只能服务第二个分区,第二个会覆盖第一个,但是卸载掉第二个,第一个分区的数据就会出现
mount命令
mount命令可以查看当前系统已经挂载的所以分区,分区文件系统的类型,挂载点及一些选项信息。
挂载
-
mount [分区] [挂载点]
[root@linux-151 ~]# mount /dev/sdb1 /mnt
[root@linux-151 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 16G 1.1G 15G 7% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 109M 88M 56% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/sdb1 2.9G 9.0M 2.9G 1% /mnt
-
umount 卸载
[root@linux-151 ~]# mount /dev/sdb1 /mnt
[root@linux-151 ~]# cd /mnt
[root@linux-151 mnt]# umount /dev/sdb1
umount: /mnt:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
这个时候我们要退出这个目录,在卸载
[root@linux-151 mnt]# cd[root@linux-151 ~]# umount /dev/sdb1
或者使用-l 选项
[root@linux-151 ~]# mount /dev/sdb1 /mnt[root@linux-151 ~]# cd /mnt[root@linux-151 mnt]# umount -l /dev/sdb1
开机自动挂载
第一种方法:vim /etc/fstab 直接将相关的挂载信息直接写入文件中
mount -a 会自动加载配置文件所有的配置
mount -o noatime,rw /dev/sdb1 /mnt 利用-o指定一些选项,如果不指定就为defaults
mount 可以查看加载了哪些相关选项
# /etc/fstab# Created by anaconda on Tue Jul 26 20:11:16 2016## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#第一段 第二段 第三段 第四段 第五段 第六段#设备分区名或UUID 挂载点 系统文件类型 挂载选项 是否数据备份 开机是否
检测磁盘
(1的优先级高于2)
#defaults=rw,suid,dev,exec,auto,nouser,asyc
UUID=72cb5a39-c73a-466d-9207-5ef7ece5fd0d / ext4 defaults 1 1
UUID=51abe72d-14e4-4ab6-86df-fe446bb58487 /boot ext4 defaults 1 2
UUID=ed7b2cfc-cfa3-4993-b8a6-b04eb14f74f6 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
写入配置文件/etc/fstab后要mount -a
-a 会将/etc/fstab里面的所有分区挂载上
第二种方法:vim /etc/rc.local 其他启动会加载哪些设置
可以将mount /dev/sdb5 /mnt/ 命令直接写入/etc/rc.local文件,重启系统时文件会自动执行命令挂载了
blkid 获取分区的uuid和table
三、手动增加swap空间
如果需要虚拟内存不够的情况,就必须增加一个虚拟磁盘,增加虚拟磁盘的基本思路: 建立swapfile-> 格式化为swap格式->启用该虚拟磁盘
建立swapfile
[root@linux-151 ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,0.394181 秒,266 MB/秒
dd命令:操作磁盘;if指定源(一般是写/dev/zero,它是UNIX系统特有的一个文件,它可以源源不断的提供“0”)of指定目标文件,bs定义块大小,count定义块的数量,bs和count这个两个参数决定了目标文件大小,目标文件大小=bs*count。
格式化
[root@linux-151 mnt]# mkswap -f /tmp/newdisk
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=3c1465ff-5837-4ecf-948d-7d5719b382c4
文件格式化后,就可以挂载使用
-
free -m 查看内存使用情况
[root@linux-151 mnt]# free -m
total used free shared buff/cache available
Mem: 1831 113 1459 8 259 1545Swap: 4095 0 4095
加载swap
[root@linux-151 mnt]# swapon /tmp/newdisk
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。//虽然提示不安全,但事实已经挂载成功
[root@linux-151 mnt]# blkid /tmp/newdisk
/tmp/newdisk: UUID="3c1465ff-5837-4ecf-948d-7d5719b382c4" TYPE="swap"
卸载swap
[root@linux-151 mnt]# swapoff /tmp/newdisk
四周第一次课 lvm讲解 磁盘故障小案例
四周第一次课
4.10/4.11/4.12 lvm讲解
4.13 磁盘故障小案例
一、 lvm讲解
前期准备
准备磁盘分区
fdisk /dev/sdb
n 创建三个新分区,分别1G
t 改变分区类型为8e
准备物理卷
pvcreate /dev/sdb1
pvcreate /dev/sdb2
pvcreate /dev/sdb3
pvdisplay/pvs 列出当前的物理卷
pvremove /dev/sdb3 删除物理卷
准备卷组
vgcreate vg1 /dev/sdb1 /dev/sdb2 /dev/sdb3
vgdisplay /vgs列出卷组
vgremove vg1 删除物理卷
创建逻辑卷
lvcreate -L 200M -n lv1 vg1
lvdisplay 列出逻辑卷
格式化mkfs.xfs /dev/vg1/lv1,再挂载
lvremove /dev/vg1/lv1 删除逻辑卷
扩容逻辑卷
lvresize -L 300M /dev/vg1/lv1 重新设置卷大小
e2fsck -f /dev/vg1/lv1 检查磁盘错误 (ext4执行)
resize2fs /dev/vg1/lv1 更新逻辑卷信息(ext4执行)
xfs_growfs /dev/vg1/lv1 xfs文件系统需要执行
缩减逻辑卷(xfs不支持 )
先umount
e2fsck -f /dev/vg1/lv1 检查磁盘错误(ext)
resize2fs /dev/vg1/lv1 100M 更新逻辑卷信息(ext)
lvresize -L 100M /dev/vg1/lv1 重新设置卷大小
扩展卷组
fdisk /dev/sdb 新增/dev/sdb5(逻辑分区8e) 2G
pvcreate /dev/sdb5
vgextend vg1 /dev/sdb5
lvresize -L 100M /dev/vg1/lv1 重新设置卷大小
Lvm
1.创建物理分区;
2.物理分区设置成物理卷;
3.物理卷设置成卷组;
4.卷组划分成逻辑卷,
5.然后再格式化,挂载
先创建3个分区,在分区的时候按创建分区,按t设置分区类型8e 为lvm;
[root@linux-151 ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbc339889
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 8e Linux LVM
/dev/sdb2 2099200 4196351 1048576 8e Linux LVM
/dev/sdb3 4196352 6293503 1048576 8e Linux LVM
1.创建物理卷
需要安装命令:pvcreate
Tips:如果只知道命令,不知道这个命令是那个包安装的,可以使用命令:yum provides /*/[命令] 来查找命令是那个包安装的。
[root@linux-151 ~]# yum provides /*/pvcreate
已加载插件:fastestmirror
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/2): extras/7/x86_64/primary_db | 129 kB 00:00:00
(2/2): updates/7/x86_64/primary_db | 3.6 MB 00:00:02
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.cn99.com
extras/7/x86_64/filelists_db | 486 kB 00:00:00
updates/7/x86_64/filelists_db | 2.1 MB 00:00:011:bash-completion-2.1-6.el7.noarch : Programmable completion for Bash
源 :base
匹配来源:
文件名 :/usr/share/bash-completion/completions/pvcreate
7:lvm2-2.02.171-8.el7.x86_64 : Userland logical volume management tools
源 :base
匹配来源:
文件名 :/usr/sbin/pvcreate
lvm2-2.02.171-8.el7.x86_64 这个就是包名。
[root@linux-151 ~]# yum install -y lvm2
-
安装完使用命令:pvcreate 创建物理卷
[root@linux-151 ~]# pvcreate /dev/sdb1
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/sdb1.
Physical volume "/dev/sdb1" successfully created.
[root@linux-151 ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
[root@linux-151 ~]# pvcreate /dev/sdb3
Physical volume "/dev/sdb3" successfully created.
-
物理卷创建完后,使用命令:pvdisplay或者pvs来查看信息:
[root@linux-151 ~]# pvdisplay
"/dev/sdb2" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb2
VG Name
PV Size 1.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID GqWi3Q-4XT9-1RyO-JE3C-Zber-oPw5-4zGyyp
"/dev/sdb1" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 1.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID zxaUnf-kxNt-Udki-sYSk-B3so-8hi1-qTM9gB
"/dev/sdb3" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb3
VG Name
PV Size 1.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 6TgcyT-DY1j-9PHt-upJH-nZql-V20D-Ttbm1w
[root@linux-151 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 1.00g 1.00g
/dev/sdb2 lvm2 --- 1.00g 1.00g
/dev/sdb3 lvm2 --- 1.00g 1.00g
-
pvremove /dev/sdb3 删除物理卷
2.创建卷组
-
命令:vgcreate来创建卷组,可以1或者多个物理卷来创建1个卷组;
-
格式:vgcreate [卷组名] dev/sdb1 多个物理卷用空格隔开;
root@linux-151 ~]# vgcreate vg1 /dev/sdb1 dev/sdb2
Device dev/sdb2 not found (or ignored by filtering).
-
用命令:vgdisplay 或者vgs来查看信息:
[root@linux-151 ~]# vgdisplay
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 1.99 GiB
PE Size 4.00 MiB
Total PE 510
Alloc PE / Size 0 / 0
Free PE / Size 510 / 1.99 GiB
VG UUID FbIw1F-dYh6-LL3L-Ah8O-NSTQ-v5gN-G2Lpsy
[root@linux-151 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 0 0 wz--n- 1.99g 1.99g
-
vgremove vg1 删除物理卷
3.创建逻辑卷
-
命令:lvcreate
[root@linux-151 ~]# lvcreate -L 100M -n lv1 vg1
Logical volume "lv1" created.
-
命令:lvdisplay或者lvs来查看信息
[root@linux-151 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID TOmOhK-Hf1Y-aKkQ-nfP4-9tu3-cmUD-lbGjMz
LV Write Access read/write
LV Creation host, time linux-128, 2017-11-06 22:54:39 +0800
LV Status available
# open 0
LV Size 100.00 MiB
Current LE 25
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[root@linux-151 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-a----- 100.00m
4.格式化成ext4
[root@linux-151 ~]# mkfs.ext4 /dev/vg1/lv1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=3368550413 block groups
8192 blocks per group, 8192 fragments per group1976 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
5.挂载:mount
root@linux-151 ~]# mount /dev/vg1/lv1 /mnt
[root@linux-151 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 16G 1.3G 15G 8% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 109M 88M 56% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vg1-lv1 93M 1.6M 85M 2% /mnt
[root@linux-151 ~]# mkdir /mnt/1122
[root@linux-151 ~]# touch /mnt/23.txt
[root@linux-151 ~]# echo "112233" > 23.txt
[root@linux-151 ~]# cat 23.txt112233
扩容逻辑卷
-
Etx4系统类型扩容前要先卸载挂载点
[root@linux-151 ~]# umount /mnt
-
命令:lvresize -L 来扩容,重新设置卷大小
[root@linux-151 ~]# lvresize -L 200M /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 200.00 MiB (50 extents).
Logical volume vg1/lv1 successfully resized.
-
e2fsck -f /dev/vg1/lv1 检查磁盘错误 (ext4执行)
[root@linux-151 ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小第二步: 检查目录结构第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息/dev/vg1/lv1: 13/25688 files (7.7% non-contiguous), 8897/102400 blocks
-
resize2fs /dev/vg1/lv1 更新逻辑卷信息(ext4执行)
[root@linux-151 ~]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 204800 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 204800 blocks long.
-
挂载
[root@linux-151 ~]# mount /dev/vg1/lv1 /mnt
[root@linux-151 ~]# ls /mnt1122 23.txt lost+found
[root@linux-151 ~]# cat 23.txt112233
扩容之前创建的文件还存在,说明扩容不影响之前的文件。
缩减逻辑卷
-
先卸载挂载点
[root@linux-151 ~]# umount /mnt
-
e2fsck -f /dev/vg1/lv1 检查磁盘错误(ext)
[root@linux-151 ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小第二步: 检查目录结构第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息/dev/vg1/lv1: 13/49400 files (7.7% non-contiguous), 11885/204800 blocks
-
resize2fs /dev/vg1/lv1 100M 更新逻辑卷信息(ext)
[root@linux-151 ~]# resize2fs /dev/vg1/lv1 100M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 102400 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 102400 blocks long.
-
lvresize -L 100M /dev/vg1/lv1 重新设置卷大小
[root@linux-151 ~]# lvresize -L 100M /dev/vg1/lv1
WARNING: Reducing active logical volume to 100.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: y
Size of logical volume vg1/lv1 changed from 200.00 MiB (50 extents) to 100.00 MiB (25 extents).
Logical volume vg1/lv1 successfully resized.
查看信息
[root@linux-151 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-a----- 100.00m
-
挂载
[root@linux-151 ~]# mount /dev/vg1/lv1 /mnt
[root@linux-151 ~]# cat /mnt/23.txt
[root@linux-151 ~]# cat 23.txt112233
并不会因缩容导致文件丢失
Xfs类型来扩容
-
先卸载挂载点
[root@linux-151 ~]# umount /mnt
-
设置文件类型
[root@linux-151 ~]# mkfs.xfs -f /dev/vg1/lv1
meta-data=/dev/vg1/lv1 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@linux-151 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 100.00m
[root@linux-151 ~]# mount /dev/vg1/lv1 /mnt
[root@linux-151 ~]# ls /mnt
[root@linux-151 ~]# mkdir /mnt/123
[root@linux-151 ~]# touch /mnt/12.txt
[root@linux-151 ~]# echo '123123' > /mnt/12.txt
[root@linux-151 ~]# cat /mnt/12.txt123123
-
lvresize -L 300M /dev/vg1/lv1;扩容300M
[root@linux-151 ~]# lvresize -L 300M /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents).
Logical volume vg1/lv1 successfully resized.
[root@linux-151 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 300.00m
4.xfs_growfs /dev/vg1/lv1; xfs文件系统需要执行
[root@linux-151 ~]# xfs_growfs /dev/vg1/lv1
meta-data=/dev/mapper/vg1-lv1 isize=512 agcount=4, agsize=6400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=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 bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 25600 to 76800
[root@linux-151 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 16G 1.3G 15G 8% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.6M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 109M 88M 56% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vg1-lv1 297M 5.5M 292M 2% /mnt
[root@linux-151 ~]# cat /mnt/12.txt123123
卷组扩容
-
逻辑卷最大扩容到卷组的大小,当逻辑卷扩容到卷组大小的时候,就要想办法给卷组扩容,之前用/dev/sdb1和/dev/sdb2组成的卷组vg1,我们现在见/dev/sdb3加进来
[root@linux-151 ~]# vgextend vg1 /dev/sdb3
Volume group "vg1" successfully extended
[root@linux-151 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 3 1 0 wz--n- <2.99g <2.70g
-
lvresize -L 100M /dev/vg1/lv1 重新设置卷大小
[root@linux-151 ~]# lvresize -L 500M /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 300.00 MiB (75 extents) to 500.00 MiB (125 extents).
Logical volume vg1/lv1 successfully resized.
[root@linux-151 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 500.00m
二、磁盘故障小案例
磁盘故障 多半是因为磁盘挂载出现问题
-
输入root账号
-
vi /etc/fstab 删除最下面一行,保存退出
-
重启服务器