码迷,mamicode.com
首页 > 系统相关 > 详细

Linux硬盘操作纪实

时间:2015-07-15 23:08:07      阅读:304      评论:0      收藏:0      [点我收藏+]

标签: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硬盘操作纪实

标签:linux 硬盘 fdisk parted tune2fs mkfs

原文地址:http://haohaozhang.blog.51cto.com/9176600/1674997

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!