标签:linux 硬盘 fdisk parted tune2fs mkfs
本文主要记录本人在运维工作中一次关于硬盘的操作。
环境:
这台服务器是hadoop的一台slavenode ,上面有12块盘,每块盘都只做了一个分区,没有做LVM。
故障发现:
登上服务器后发现少了一块盘:
#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 451G 20G 408G 5% /
tmpfs 36G 0 36G 0% /dev/shm
/dev/sdb1 1.9T 1.5T 354G 81% /hadoop/1
/dev/sdc1 1.9T 1.5T 357G 81% /hadoop/2
/dev/sdd1 1.9T 1.5T 351G 81% /hadoop/3
/dev/sde1 1.9T 1.4T 402G 79% /hadoop/4
/dev/sdf1 1.9T 1.5T 371G 80% /hadoop/5
/dev/sdg1 1.9T 1.5T 375G 80% /hadoop/6
/dev/sdh1 1.9T 1.5T 388G 79% /hadoop/7
/dev/sdi1 1.9T 1.5T 383G 80% /hadoop/8
/dev/sdj1 1.9T 1.5T 394G 79% /hadoop/9
/dev/sdl1 1.9T 1.5T 377G 80% /hadoop/11
/dev/sdm1 1.9T 1.5T 386G 79% /hadoop/12
仔细观察会发现/hadoop/10没有,对应的应该是/dev/sdk1,那这块硬盘到哪去了呢?
故障分析:
用fdisk查看:
#fdisk -l /dev/sdk
发现这块盘是GPT table的,这里穿插下分区表的小知识,分区表最常用的是MBR,GPT是比较新的一种,比较少用。
因为其它硬盘都是MBR分区表,所以这块硬盘也应该是MBR的,估计是某人误操作导致的。
故障解决:
- 用fdisk删除原有分区表信息,创建一个新的partition:
#fdisk /dev/sdk
- 用parted工具,把partition1的分区表转化为MBR的:
#parted /dev/sdk1 #mklabel msdos #quit
- 删除保留的百分之五的磁盘空间:
#tune2fs -m 0 /dev/sdk1
- 用ext4格式化partition:
#mkfs.ext4 /dev/sdk1
- 查看磁盘信息:
#fdisk -l /dev/sdk
Disk /dev/sdk: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 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: 0xea6649b8
Device Boot Start End Blocks Id System
/dev/sdk1 1 243201 1953512001 83 Linux
- 一切正常,查看/etc/fstab:
.......
LABEL=/hadoop09 /hadoop/9 ext4 defaults,noatime,nodiratime,noauto 0 2
LABEL=/hadoop10 /hadoop/10 ext4 defaults,noatime,nodiratime,noauto 0 2
........
- 执行:
#mount -a
- 再用fdisk查看,怎么还是没有mount上。决定手动mount一次:
#mount LABEL=/hadoop10 /hadoop/10 -o defaults,noatime,nodiratime,noauto -t ext4
- 再用fdisk查看,居然好了:
#df -h
......
/dev/sdk1 1.8T 1.9G 1.8T 1% /hadoop/10
感想:
有时候真不能相信mount -a,有时间要看看它的源码,看看它是怎么工作的。
本文出自 “Linux和网络” 博客,转载请与作者联系!
标签:linux 硬盘 fdisk parted tune2fs mkfs
原文地址:http://haohaozhang.blog.51cto.com/9176600/1674997