对于Linux系统来说,挂载磁盘的方法其实都大同小异,所以本文以CentOS系统为例,介绍下Linux系统磁盘挂载方法,前面大部分内容源于天翼云的论坛。
1.查看磁盘情况
使用命令fdisk -l # 列出全部磁盘信息
[root@ linuxidc.com ~]# fdisk –l
Disk/dev/xvda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier:0x0008a9a5
Device Boot Start End Blocks Id System
/dev/xvda1 1 523 4194304 82 Linux swap / Solaris
Partition1 does not end on cylinder boundary.
/dev/xvda2 * 523 5222 37747712 83 Linux
Disk/dev/xvde: 322.1 GB, 322122547200 bytes
255 heads, 63 sectors/track, 39162 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier:0x00000000
2.创建分区
fdisk /dev/xvde # 对xvde硬盘进行分区
n # 创建一个新分区
p # 创建一个主分区(e为扩展分区)
1 # 1表示第一个主分区
回车 # 从第1柱面开始分区
回车 # 表示整个xvde全写入第1分区(若需要将sdb分为多个分区,此时输入+分区大小)
P # 查看下已创建好的分区
w # 保存并退出
[root@ linuxidc.com ~]# fdisk /dev/xvde
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building anew DOS disklabel with disk identifier 0x590ca8b1.
Changes will remainin memory only, until you decide to write them.
After that, of course, the previous content won‘t be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to
switch off the mode (command ‘c’) and change display units to
sectors (command‘u’).
Command (mfor help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-39162, default 1):
Usingdefault value 1
Last cylinder,+cylinders or +size{K,M,G} (1-39162, default 39162):
Usingdefault value 39162
Command (mfor help): p
Disk/dev/xvde: 322.1 GB, 322122547200 bytes
255 heads, 63 sectors/track, 39162 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier:0x590ca8b1
Device Boot Start End Blocks Id System
/dev/xvde1 1 39162 314568733+ 83 Linux
Command (mfor help): w
The partition table has been altered!
Calling ioctl() to re–read partition table.
Syncing disks.
3.创建分区文件系统并格式化磁盘
# mkfs.ext4 /dev/xvde1 # 将xvde1以ext4格式进行格式化
[root@ linuxidc.com ~]# mkfs.ext4 xvde1 mke2fs 1.41.12 (17-May-2010) Could not stat xvde1 --- No such file or directory The device apparently does not exist; did you specify it correctly? [root@ linuxidc.com ~]# mkfs.ext4 /dev/xvde1 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 19660800 inodes, 78642183 blocks 3932109 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 2400 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, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 25 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
4.在home目录下面创建文件夹MySQL,并且将设备挂载至/home/mysql。
[root@ linuxidc.com home]# mount /dev/xvde1 /home/mysql [root@ linuxidc.com home]# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda2 36G 2.4G 32G 7% / tmpfs 3.9G 0 3.9G 0% /dev/shm /dev/xvde1 296G 191M 281G 1% /home/mysql
假如原来文件夹中有文件挂载之后文件会消失并且出现lost+found文件夹,这时不用担心,可以用umount命令进行取消挂载。
原因是这样的。
这个牵扯到linux的VFS(虚拟文件系统)机制。登录以后,你看到的各个目录,文件都是内核在加载时候构造在内存中的VFS目录树,而不是直接看到硬盘上的实际目录树。
按照我对 http://www.linuxidc.com/Linux/2017-06/1450.htm 这篇文章所描述的粗浅理解,当你挂载某个设备到一个VFS挂载点上时(比如/home),系统就把VFS中的这个挂载点/home指向你最后所挂载的那个设备上。那么你现在访问该挂载点时,就会看到你最后挂载在此处的设备。而之前所挂载的设备依然在那里,只不过挂载点/home已经不再指向之前的设备。你可以把原来的设备卸载以后挂载到一个新的挂载点上来访问。
5.将磁盘UUID写入fstab
对于Linux系统来说,磁盘xvda和xvde的分区是根据系统启动时识别的先后顺序来排列,这样就会出现一个当主机重启后,出现跳盘的情况,为了避免此情况的发生,就需要我们将磁盘的UUID信息写入fstab文件,将分区与磁盘绑定。
1)通过blkid获得磁盘分区的UUID
[root@ linuxidc.com ~]# blkid
/dev/xvda1: UUID="5546dd0c-ef40-451b-b266-df8ef3a49967" TYPE="swap"
/dev/xvda2: UUID="77fc0962-b3cf-400a-8903-0632e077fa09" TYPE="ext3"
/dev/xvde1: UUID="1d17945b-c369-42de-85a8-47217d24d3e5" TYPE="ext4"
2)通过vim /etc/fstab在最后一行添加xvde1的磁盘信息
#
# /etc/fstab
# Created by anaconda on Thu Jan 12 02:47:21 2017
#
# 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=77fc0962-b3cf-400a-8903-0632e077fa09 / ext3 defaults 1 1
UUID=5546dd0c-ef40-451b-b266-df8ef3a49967 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
UUID=d17945b-c369-42de-85a8-47217d24d3e5 /home/mysql ext4 defaults 0 0
6.将/var/lib/mysql/下的内容转移至/home/mysql/,并且在/var/lib/下创建mysql的链接,实际目录其实为/home/mysql
[root@ linuxidc.com /]# cd home [root@ linuxidc.com home]# mkdir mysql [root@ linuxidc.com home]# mv /var/lib/mysql/* /home/mysql [root@ linuxidc.com home]# ln /home/mysql /var/lib/mysql
7.验证一下,通过df命令查看磁盘的使用情况。然后进入mysql命令,创建数据库test1…,执行之后会在/home/mysql/文件夹下出现数据库test1,另外使用df命令查看磁盘使用情况。会发现/dev/xvde1使用量在增长。
[root@ linuxidc.com mysql]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/xvda2 37155392 2417608 32850400 7% / tmpfs 4018012 0 4018012 0% /dev/shm /dev/xvde1 309633052 217092 293687524 1% /home/mysql
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-06/145066.htm