Linux:磁盘挂载
本来虚拟centos的服务器的磁盘分配的就不大,之前只分配了20G的样子,由于最近有装了不少软件,比如nifi压缩版就有1.2G的大小,一下子没有磁盘资源了。今晚就折腾在这事上了。
[root@master spark]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 17G 17G 20K 100% / devtmpfs 2.4G 0 2.4G 0% /dev tmpfs 2.4G 4.0K 2.4G 1% /dev/shm tmpfs 2.4G 12M 2.4G 1% /run tmpfs 2.4G 0 2.4G 0% /sys/fs/cgroup /dev/sda1 1014M 142M 873M 14% /boot tmpfs 479M 0 479M 0% /run/user/1000
1. 查看挂载点信息
df -h
显示结果:根目录可用磁盘只有20K。
2. 扩展VMWare硬盘空间
首先需要关闭操作系统,然后在设置中将磁盘调整到需要的容量。
如果选项是灰色的,说明虚拟机有快照,将其快照删除再操作。
备注:这里通过vmw,扩展master节点10G磁盘资源。
3. 对新增加的硬盘进行分区、格式化
(1)查看一下调整后的磁盘状态
[root@master spark]# fdisk -l Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 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: dos Disk identifier: 0x000aad3c Device Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 41943039 19921920 8e Linux LVM Disk /dev/mapper/centos-root: 18.2 GB, 18249416704 bytes, 35643392 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 /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 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
备注:新增磁盘驱动目录为/dev/sda1,大小为10G。
(2)磁盘分区
[root@master]# fdisk /dev/sda
分别键入以下参数:
p 查看已分区数量(我看到有两个 /dev/sda1 和/dev/sda2)
n 新增加一个分区
p 分区类型,选择主分区
分区号选3(1和2已占用,见上)
回车 默认选择(起始扇区)
回车 默认选择(结束扇区)
t 修改分区类型
选分区3
8e 修改为LVM(8e就是LVM)
w 写分区表,完成后退出fdisk命令
实际操作:
[root@master spark]# fdisk /dev/sda 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): p Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 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: dos Disk identifier: 0x000aad3c Device Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 41943039 19921920 8e Linux LVM Command (m for help): n Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): p Partition number (3,4, default 3): 3 First sector (41943040-62914559, default 41943040): #直接回车(不输入任何内容) Using default value 41943040 Last sector, +sectors or +size{K,M,G} (41943040-62914559, default 62914559): #直接回车(不输入任何内容) Using default value 62914559 Partition 3 of type Linux and of size 10 GiB is set Command (m for help): t Partition number (1-3, default 3): 3 Hex code (type L to list all codes): 8e Changed type of partition 'Linux' to 'Linux LVM' 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@master spark]# fdisk /dev/sda 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): p Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 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: dos Disk identifier: 0x000aad3c Device Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 41943039 19921920 8e Linux LVM /dev/sda3 41943040 62914559 10485760 8e Linux LVM Command (m for help):
(3)格式化分区
注意:格式化之前要重启机器
[spark@master ~]$ mkfs.ext3 /dev/sda3 mke2fs 1.42.9 (28-Dec-2013) mkfs.ext3: Permission denied while trying to determine filesystem size [spark@master ~]$ su root Password: [root@master spark]# mkfs.ext3 /dev/sda3 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 655360 inodes, 2621440 blocks 131072 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2684354560 80 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done [root@master spark]#
4. 添加新LVM到已有的LVM组,实现扩容
进入lvm管理
[root@master]# lvm
实际上以下命令我在centos7下直接操作也行。
关于lvm的一些基础知识可以参考:《Linx 卷管理详解--VG LV PV》
(1)初始化刚才的分区
pvcreate /dev/sda3
(2)查看卷和卷组
vgdisplay
要记下”VG Name”,这里为centos;再记下”Free PE/Size”的大小,例如这里为21513
(3)将初始化过的分区加入到虚拟卷组
vgextend centos /dev/sda3
刚才记下的”VG Name”就在这里使用。
但是执行到这一步时报错了:
Couldn't create temporary archive name.
Volume group "centos" metadata archive failed. Internal error:
Attempt to unlock unlocked VG #orphans.
查看了下,因为磁盘实在太小了,无法执行,删除一些数据就行。
(4)扩展已有卷的容量
lvextend -l +9.5G /dev/mapper/centos-root
lvextend
指令用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。其后有两个选项
选项 | 说明 |
---|---|
-L | 指定逻辑卷的大小,单位为“kKmMgGtT”字节,也就是Size |
-l | 指定逻辑卷的大小,单位为PE数 |
其余两个参数:+9.5G是磁盘扩增的大小(也可以是通过vgdisplay
查看的free
的大小【尽量不完全使用,小个几十到几百M】),后边的目录参数/dev/mapper/centos-root
可以通过df
命令查看
(5)查看卷容量
pvdisplay
(6)退出
quit
以下是具体实操操作记录:
[root@master spark]# pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created. [root@master spark]# [root@master spark]# vgextend centos /dev/sda3 Couldn't create temporary archive name. Volume group "centos" metadata archive failed. Internal error: Attempt to unlock unlocked VG #orphans. [root@master spark]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 17G 17G 20K 100% / devtmpfs 2.4G 0 2.4G 0% /dev tmpfs 2.4G 4.0K 2.4G 1% /dev/shm tmpfs 2.4G 12M 2.4G 1% /run tmpfs 2.4G 0 2.4G 0% /sys/fs/cgroup /dev/sda1 1014M 142M 873M 14% /boot tmpfs 479M 0 479M 0% /run/user/1000 #磁盘资源不足清理磁盘 [root@master spark]# cd /opt/ [root@master opt]# ls apache-maven-3.5.4 elasticsearch-head-master hdfs-over-ftp-master.zip kibana-6.2.2-linux-x86_64.tar.gz node-v8.9.1.tar.gz zookeeper-3.4.12 apache-maven-3.5.4-bin.tar.gz elasticsearch-head-master.zip jdk1.8.0_171 nifi-1.7.1 scala-2.11.0 zookeeper-3.4.12.tar.gz elasticsearch-6.2.2 hadoop-2.9.0 jdk-8u171-linux-x64.tar.gz nifi-1.7.1-bin.zip scala-2.11.0.tgz elasticsearch-6.2.2.zip hadoop-2.9.0.tar.gz kafka_2.11-1.1.0 node-8.9.1 spark-2.2.1-bin-hadoop2.7 elasticsearch-analysis-ik-6.2.2.zip hdfs-over-ftp-master kibana-6.2.2-linux-x86_64 node-v8.9.1 spark-2.2.1-bin-hadoop2.7.tgz [root@master opt]# rm *.gz rm: remove regular file ‘apache-maven-3.5.4-bin.tar.gz’? y rm: remove regular file ‘hadoop-2.9.0.tar.gz’? y rm: remove regular file ‘jdk-8u171-linux-x64.tar.gz’? y rm: remove regular file ‘kibana-6.2.2-linux-x86_64.tar.gz’? y rm: remove regular file ‘node-v8.9.1.tar.gz’? y rm: remove regular file ‘zookeeper-3.4.12.tar.gz’? y [root@master opt]# rm *.zip rm: remove regular file ‘elasticsearch-6.2.2.zip’? y rm: remove regular file ‘elasticsearch-analysis-ik-6.2.2.zip’? y rm: remove regular file ‘elasticsearch-head-master.zip’? y rm: remove regular file ‘hdfs-over-ftp-master.zip’? y rm: remove regular file ‘nifi-1.7.1-bin.zip’? y [root@master opt]# rm *.tgz rm: remove regular file ‘scala-2.11.0.tgz’? y rm: remove regular file ‘spark-2.2.1-bin-hadoop2.7.tgz’? y #磁盘清理后查看磁盘资源 [root@master opt]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 17G 15G 2.1G 88% / devtmpfs 2.4G 0 2.4G 0% /dev tmpfs 2.4G 4.0K 2.4G 1% /dev/shm tmpfs 2.4G 12M 2.4G 1% /run tmpfs 2.4G 0 2.4G 0% /sys/fs/cgroup /dev/sda1 1014M 142M 873M 14% /boot tmpfs 479M 0 479M 0% /run/user/1000 #重启服务器 [root@master opt]# reboot #重新登录 Last login: Tue Aug 7 23:16:33 2018 from 192.168.0.103 [spark@master ~]$ su root Password: [root@master spark]# pvcreate /dev/sda3 WARNING: ext3 signature detected on /dev/sda3 at offset 1080. Wipe it? [y/n]: y Wiping ext3 signature on /dev/sda3. Physical volume "/dev/sda3" successfully created. [root@master spark]# vgdisplay --- Volume group --- VG Name centos System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size <19.00 GiB PE Size 4.00 MiB Total PE 4863 Alloc PE / Size 4863 / <19.00 GiB Free PE / Size 0 / 0 VG UUID cKJ05H-yI4f-5qfY-5SO5-ybTW-2zDx-M5uyg0 [root@master spark]# vgextend centos /dev/sda3 Volume group "centos" successfully extended [root@master spark]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 17G 15G 2.1G 88% / devtmpfs 2.4G 0 2.4G 0% /dev tmpfs 2.4G 0 2.4G 0% /dev/shm tmpfs 2.4G 12M 2.4G 1% /run tmpfs 2.4G 0 2.4G 0% /sys/fs/cgroup /dev/sda1 1014M 142M 873M 14% /boot tmpfs 479M 0 479M 0% /run/user/1000 [root@master spark]# fdisk -l Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 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: dos Disk identifier: 0x000aad3c Device Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 41943039 19921920 8e Linux LVM /dev/sda3 41943040 62914559 10485760 8e Linux LVM Disk /dev/mapper/centos-root: 18.2 GB, 18249416704 bytes, 35643392 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 /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 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
5. 文件系统扩容
以上只是卷扩容了,还要对文件系统实现真正扩容
CentOS 7 下面 由于使用的是 XFS,所以要用
xfs_growfs /dev/mapper/centos-root
CentOS 6 下面 要用
resize2fs /dev/mapper/centos-root
以下是具体实操操作记录:
[root@master spark]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 17G 15G 2.1G 88% / devtmpfs 2.4G 0 2.4G 0% /dev tmpfs 2.4G 0 2.4G 0% /dev/shm tmpfs 2.4G 12M 2.4G 1% /run tmpfs 2.4G 0 2.4G 0% /sys/fs/cgroup /dev/sda1 1014M 142M 873M 14% /boot tmpfs 479M 0 479M 0% /run/user/1000 [root@master spark]# xfs_growfs /dev/mapper/centos-root meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=1113856 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=4455424, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 4455424 to 6945792 [root@master spark]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 27G 15G 12G 57% / devtmpfs 2.4G 0 2.4G 0% /dev tmpfs 2.4G 0 2.4G 0% /dev/shm tmpfs 2.4G 12M 2.4G 1% /run tmpfs 2.4G 0 2.4G 0% /sys/fs/cgroup /dev/sda1 1014M 142M 873M 14% /boot tmpfs 479M 0 479M 0% /run/user/1000
6. 查看新的磁盘空间
df -h
基础才是编程人员应该深入研究的问题,比如:
1)List/Set/Map内部组成原理|区别
2)mysql索引存储结构&如何调优/b-tree特点、计算复杂度及影响复杂度的因素。。。
3)JVM运行组成与原理及调优
4)Java类加载器运行原理
5)Java中GC过程原理|使用的回收算法原理
6)Redis中hash一致性实现及与hash其他区别
7)Java多线程、线程池开发、管理Lock与Synchroined区别
8)Spring IOC/AOP 原理;加载过程的。。。
【+加关注】。