2016.03.12
晚上:23.:18
在为主机添加硬盘前,首先要了解Linux系统下对硬盘和分区的命名方法。
Linux中自带的文档说fdisk的bug太多,sfdisk太难用,而且不支持交互式工作,从分区质量来说cfdisk>sfdisk>fdisk
1) 在Linux下对SCSI的设备是以sd命名的,第一个ide设备是sda,第二个是sdb,依此类推。一般主板上有两个SCSI接口,
一共可以安装四个SCSI设备。主SCSI上的两个设备分别对应sda和sdb,第二个SCSI口上的两个设备对应sdc和sdd。一般硬盘安装在主SCSI的主接口上,
所以是sda或者sdb,光驱一般安装在第二个SCSI的主接口上,所以是sdc. (IDE接口设备是用hd命名的,第一个设备是hda,第二个是hdb。依此类推.)
2)分区是用设备名称加数字命名的。例如sda1代表sda这个硬盘设备上的第一个分区。
3)每个硬盘可以最多有四个主分区,一个扩展分区,扩展分区可以再分为多个逻辑分区
##############################################################################################################################################
fdisk常用的参数
[root@localhost beinan]# fdisk /dev/sdb
Command (m for help): 在这里按 m ,就会输出帮助;
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 注:这是删除一个分区的动作;
l list known partition types 注:l 是列出分区类型,以供我们设置相应分区的类型;
m print this menu 注:m 是列出帮助信息;
n add a new partition 注:添加一个分区;
p print the partition table 注:p 列出分区表;
q quit without saving changes 注:不保存退出;
s create a new empty Sun disklabel
t change a partition's system id 注:t 改变分区类型;
u change display/entry units
v verify the partition table
w write table to disk and exit 注:把分区表写入硬盘并退出;
x extra functionality (experts only) 注:扩展应用,专家功能;
##########################################################################################################################################################
查看磁盘的命令
fdisk -l /dev/sdb #显示当前的磁盘分区情况
lsblk -f # 查看分区的信息
df -Th #查看磁盘类型信息 #df -Tk单位是以K显示的
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda7 ext4 25G 8.1G 16G 35% /
tmpfs tmpfs 754M 260K 754M 1% /dev/shm
/dev/sda9 ext4 42G 3.0G 37G 8% /home
/dev/sdb1 ext4 30G 44M 28G 1% /mnt/sdb1
/dev/sdb5 ext4 40G 48M 38G 1% /mnt/sdb5
进行分区操作
1、给硬盘分区
fdisk /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4)
输入:e
Partition number (1-4): 1
First cylinder (1-9729, default 1):回车
Last cylinder or +size or +sizeM or +sizeK (1-9729, default 9729):回车
Command (m for help):w(保存退出)
2、格式化硬盘
fdisk -l
mkfs -t ext4 -c /dev/sdb #因为新硬盘加了-c参数,要先检测磁盘坏道
3、挂载
mount /dev/sda1 /data
4、开机直接挂载
编辑/etc/fstab 文件
方法一:
添加:/dev/sdb /data ext4 defaults 1 1
方法二:
查看硬盘UUID
less -l /dev/disk/by-uuid #uuid和分区号对应存放的目录
ls -l /dev/disk/by-uuid #uuid和分区号对应存放的目录
blkid /dev/sdb #查看单个磁盘分区的uuid
磁盘uuid对应的磁盘分区磁盘uuid对应的磁盘分区 添加到 /etc/fstab
tune2fs -U c1b9d5a2-f162-11cf-9ece-0020afc76f16 /sdb ext4 defaults 1 1
重启则发选已经挂载上去。
也可以把 fstab 里找到的源 uuid 写回分区:
tune2fs -U c1b9d5a2-f162-11cf-9ece-0020afc76f16 /dev/sda1
#############################################################################################################################################
对/etc/fstab内容解释
/etc/fstab是用来存放文件系统的静态信息的文件。位于/etc/目录下,可以用命令less /etc/fstab 来查看,如果要修改的话,
则用命令 vi /etc/fstab 来修改。
当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。下面我来介绍如何在此文件下填写信息。
/etc/fstab# <file system> <dir> <type> <options> <dump> <pass>
tmpfs /tmp tmpfs nodev,nosuid 0 0
/dev/sda1 / ext4 defaults,noatime 0 1
/dev/sda2 none swap defaults 0 0
/dev/sda3 /home ext4 defaults,noatime 0 2
/etc/fstab 文件包含了如下字段,通过空格或 Tab 分隔:
<file system> <dir> <type> <options> <dump> <pass>
<file systems> - 要挂载的分区或存储设备.
<dir> - <file systems>的挂载位置。
<type> - 要挂载设备或是分区的文件系统类型,支持许多种不同的文件系统:ext2, ext3, ext4, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap 及 auto。 设置成auto类型,mount 命令会猜测使用的文件系统类型,对 CDROM 和 DVD 等移动设备是非常有用的。
<options> - 挂载时使用的参数,注意有些mount 参数是特定文件系统才有的。一些比较常用的参数有:
auto - 在启动时或键入了 mount -a 命令时自动挂载。
noauto - 只在你的命令下被挂载。
exec - 允许执行此分区的二进制文件。
noexec - 不允许执行此文件系统上的二进制文件。
ro - 以只读模式挂载文件系统。
rw - 以读写模式挂载文件系统。
user - 允许任意用户挂载此文件系统,若无显示定义,隐含启用 noexec, nosuid, nodev 参数。
users - 允许所有 users 组中的用户挂载文件系统.
nouser - 只能被 root 挂载。
owner - 允许设备所有者挂载.
sync - I/O 同步进行。
async - I/O 异步进行。
dev - 解析文件系统上的块特殊设备。
nodev - 不解析文件系统上的块特殊设备。
suid - 允许 suid 操作和设定 sgid 位。这一参数通常用于一些特殊任务,使一般用户运行程序时临时提升权限。
nosuid - 禁止 suid 操作和设定 sgid 位。
noatime - 不更新文件系统上 inode 访问记录,可以提升性能(参见 atime 参数)。
nodiratime - 不更新文件系统上的目录 inode 访问记录,可以提升性能(参见 atime 参数)。
relatime - 实时更新 inode access 记录。只有在记录中的访问时间早于当前访问才会被更新。(与 noatime 相似,但不会打断如 mutt 或其它程序探测文件在上次访问后是否被修改的进程。),可以提升性能(参见 atime 参数)。
flush - vfat 的选项,更频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失。
defaults - 使用文件系统的默认挂载参数,例如 ext4 的默认参数为:rw, suid, dev, exec, auto, nouser, async.
<dump> dump 工具通过它决定何时作备份. dump 会检查其内容,并用数字来决定是否对这个文件系统进行备份。 允许的数字是 0 和 1 。0 表示忽略, 1 则进行备份。大部分的用户是没有安装 dump 的 ,对他们而言 <dump> 应设为 0。
<pass> fsck 读取 <pass> 的数值来决定需要检查的文件系统的检查顺序。允许的数字是0, 1, 和2。 根目录应当获得最高的优先权 1, 其它所有需要被检查的设备设置为 2. 0 表示设备不会被 fsck 所检查。
文件系统标识
在 /etc/fstab配置文件中你可以以三种不同的方法表示文件系统:内核名称、UUID 或者 label。使用 UUID 或是 label 的好处在于它们与磁盘顺序无关。如果你在 BIOS 中改变了你的存储设备顺序,或是重新拔插了存储设备,或是因为一些 BIOS 可能会随机地改变存储设备的顺序,那么用 UUID 或是 label 来表示将更有效。参见 持久化块设备名称 。