1.插入新硬盘,启动Linux服务器,使用fdisk -l 查看硬盘
#fdisk -l
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
2.格式化硬盘
#mkfs -t ext4 /dev/sdb
3.挂载硬盘
#mount 硬盘地址 要挂载的地址
#mount /dev/sdb /media/imgs
4.实现系统重启后自动挂载该分区
#vi /etc/fstab
在最后一行添加
/dev/sdb /media/imgs ext4 defaults 1 2
一、添加磁盘
添加加新硬盘重启服务器
添加完之后就可以重启机器了,如果你机器是开启的,进入系统并不能看见你刚添加的那块磁盘,只有等系统重启,重新加载之后才会显示安装的那块磁盘
二、进入系统
使用root用户进入系统
三、 查看硬盘信息
[root@localhost ~]# fdisk -l //磁盘命令
1
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 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: 0x000c4cb5
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2611 20458496 8e Linux LVM
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 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: 0xd0f5c869
Device Boot Start End Blocks Id System
/dev/sdb1 1 2610 20964793+ 83 Linux
Disk /dev/sdc: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
可以看到这台机器加载了三个磁盘sda、sdb、sdc
其中sda是初始磁盘,sdb已经初始化且经过使用,sdc是刚刚加载的,未格式化的新磁盘
四、创建新硬盘分区
[root@localhost ~]# fdisk /dev/sdc #进入磁盘
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x45a3cadb.
Changes will remain in 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 (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 #各分区类型所对应的ID
m print this menu #菜单
n add a new partition #添加一个分区
o create a new empty DOS partition table
p print the partition table #显示该磁盘下的当前分区信息
q quit without saving changes #不保存退出
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit #保存退出
x extra functionality (experts only)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
知道命令之后就可以进行分区了
Command (m for help): p //打印分区信息,可以看到当前并没有分区
Disk /dev/sdc: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 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: 0x45a3cadb
Device Boot Start End Blocks Id System
Command (m for help): n //创建一个新的分区
Command action
e extended//输入e为创建扩展分区
p primary partition (1-4) //输入p为创建逻辑分区
p
Partition number (1-4): 1//划分逻辑分区
First cylinder (1-2610, default 1): //我这里直接回车,是不想把该磁盘分成多个分区,把整个磁盘作为1个分区
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610):
Using default value 2610
Command (m for help): p //再次查看可以看到该磁盘已经有1个分区了
Disk /dev/sdc: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 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: 0x45a3cadb
Device Boot Start End Blocks Id System
/dev/sdc1 1 2610 20964793+ 83 Linux
Command (m for help): w //保存分区
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
再次使用”fdisk -l”命令查看磁盘信息
Disk /dev/sdc: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 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: 0x406a4c58
Device Boot Start End Blocks Id System
/dev/sdc1 1 2610 20964793+ 83 Linux
1
2
3
4
5
6
7
8
9
第三块磁盘/dev/sdc已经分区好了
五、格式化分区
[root@localhost ~]# mkfs.ext3 /dev/sdc1
//将/dev/sdc1格式化为ext3类型,好像大部分的磁盘都是格式化为ext3类型,具体为什么没有深入研究,暂时不清楚,想了解的朋友可以自己查一下
1
2
[root@localhost ~]# mkfs.ext3 /dev/sdc1
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
*** 作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5241198 blocks
262059 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
160 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
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
格式化完毕,此时就可以使用“mount”命令挂载分区了,然后使用这个磁盘空间了
六、挂载分区以及开机自动挂载
[root@localhost ~]# df -h //此时只有sda1和sdb1两个磁盘挂载
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 18G 15G 1.5G 92% /
tmpfs 932M 76K 932M 1% /dev/shm
/dev/sda1 485M 40M 421M 9% /boot
/dev/sdb1 20G 1.2G 18G 7% /disk/diskone
/dev/sr0 4.2G 4.2G 0 100% /media/CentOS_6.5_Final
[root@localhost /]# cd /disk/
[root@localhost disk]# ll
总用量 4
drwxr-xr-x. 4 root root 4096 7月 28 17:04 diskone
[root@localhost disk]# cd diskone/
[root@localhost diskone]# ll
总用量 20
drwx------. 2 root root 16384 7月 28 16:12 lost+found
drwxr-xr-x. 2 root root 4096 7月 28 17:09 software
[root@localhost diskone]# cd ../
[root@localhost disk]# mkdir disktwo //创建被挂载的路径
[root@localhost disk]# ll
总用量 8
drwxr-xr-x. 4 root root 4096 7月 28 17:04 diskone
drwxr-xr-x. 2 r
笔者在工作中遇到自动挂载U盘,于是在树莓派和红帽系统上研究了一下U盘实现自动挂载。总的来说,Linux gnome/kde窗口环境下有移动存储的管理程序,可以实现自动挂载移动存储设备,但是在命令行下 通常需要用mount命令手动挂载USB存储设备。第二种方法有风险,第三种是设备管理服务udev添加规则实现自动mount,第四种方法则进一步封装mount添加日志功能。 Raspberry Pi中USB设备的自动挂载由基于LXDE的GUI / DE处理,具体来说,由文件管理器PCManFM控制。若要禁用此行为,请打开“文件管理器”,然后从“编辑”菜单中选择“首选项”。选择“卷管理”选项卡,取消选中第二个选项“挂载可移动介质...” ,可以禁用第三个选项“显示可用选项...”设置,以防止d出窗口提示可用程序。 系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。使用检查UUID: sudo blkid,显示关于可用块设备的信息, 查找您的设备(如 / dev / sda1 )并复制其UUID。此方法只限于开机时已经插入U盘了,开机后再插入就不发自动挂载,需要执行sudo mount -a命令。 在文件/ etc / fstab底部添加:UUID={YOUR-UID} {/path/to/mount/point} {file-system-type} defaults,errors=remount-ro 0 1 倒数第二是dump备份设置,当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份 *** 作。倒数第一是fsck磁盘检查设置,其值是一个顺序,当其值为0时,永远不检查;而 / 根目录分区永远都为1,其它分区从2开始,数字越小越先检查。 修改后保存,关闭,重新启动设备以检查或键入: sudo mount -a 。mount -a 是自动挂载 /etc/fstab 里面的东西,会忽略所有已经完成的 *** 作。但是笔者认为在这里面添加太过于危险,不要轻易 *** 作这个文件,有可能造成系统无法开机。外部设备在插入时挂载,在未插入时忽略,不然无法进入系统,这需要添加 nofail 选项,但是 *** 作这个文件不太方便,有其他刚好的方法。 文件种有两种ACTION,add和remove。在U盘插入或者拔出时,自动激活mount和unmount,完成设备自动挂载。 KERNEL!="sd*", GOTO="media_by_label_auto_mount_end" SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end" IMPORT{program}="/sbin/blkid -o udev -p %N" ENV{ID_FS_TYPE}=="", GOTO="media_by_label_auto_mount_end" ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}" ENV{ID_FS_LABEL}=="", ENV{dir_name}="Untitled-%k" ACTION=="add", ENV{mount_options}="relatime,sync" ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="iocharset=utf8,umask=000" ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="iocharset=utf8,umask=000" ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}" ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}" LABEL="media_by_label_auto_mount_end" 第三种方法中,mount或者unmount命令在实际运用中是无法记录日志的。在生产系统中就需要添加这个插入U盘和拔出U盘的动作,作为审核调查依据。将上面的mount -o或者unmount -l替换成usbhotplug.sh mount 和usbhotplug.sh unmount。 #!/usr/bin/bash time=`date "+%Y%m%d"` LOG_FILE="/home/pi/mount-usb-$time.log" date=`date` echo $date >> $LOG_FILE CMD=$1 case $CMD in 'mount') /bin/mkdir -p $4 echo "/bin/mkdir -p $4" >> $LOG_FILE sleep 2 /bin/mount -o $2 $3 $4 echo "/bin/mount -o $2 $3 $4" >> $LOG_FILE sync echo "----------" >> $LOG_FILE 'umount') sync /bin/umount -f $2 echo "/bin/umount $2" >> $LOG_FILE sleep 2 /bin/rmdir $2 echo "/bin/rmdir $2" >> $LOG_FILE echo "----------" >> $LOG_FILE esac基本上所有linux发行版在启动系统时都是根据/etc/fstab文件的配置来挂载分区的。在/etc/fstab中,根据不同格式的分区,其挂载参数也不同,参数不同其结果不同,包括用户的读写权限。
1、对于fat32格式分区,向/etc/fstab中加入下面的内容:
/dev/sdax
/media/y
vfat
user,rw,utf8,umask=000
0
0
说明:/dev/sdax可以以管理员身份通过命令fdisk-l得知,只要找你需要挂载的那个分区即可。/media/y这是一个文件夹,应该提前建立好。”user,rw”是说用户可进行读写 *** 作。utf8这个可以说是必要的,因为往往有一些windows的文件夹是中文名的,而在windows下是gbk的编码方式,在linux下挂载就会看到乱码,加上utf8的参数将中文自动转换成utf8显示,可以有效的避免乱码问题。umask=000说明对所有用户赋予了读写 *** 作,也就是说挂载之后普通用户也可进行 *** 作。最后有两个0通过空格隔开,这两个0中的后者决定了开机是否检查,如果需要检查则将其改为1。
2、对于ext3、ext4等linux分区格式,可以向/etc/fstab中加入下面的内容:
/dev/sdax
/media/y
ext3
defaults
0
1
/dev/sdax
/media/y
ext4
defaults
0
1
/dev/sdax
/media/y
jfs
defaults
0
1
上面这几行分别对应了ext3、ext4和jfs的挂载语句,具体请根据您自己的分区情况来修改。这几句中,x与y的含义同上,default参数说明按照默认格式挂载,后面的0和1就说明开机要检查。
3、ntfs格式分区,比较麻烦,首先请安装ntfs-3g这个软件,如果不安装这个软件将不能对ntfs格式分区进行读写。安装之后将如下内容添加到/etc/fstab中:
/dev/sdax
/media/y
ntfs-3g
defaults
0
0
此处x与y的含义同上,值得说明的是ntfs-3g后的参数,如下:
users
–
假如ntfs-3g可执行文件设置了suid
root(命令:chmod
u+s
/bin/ntfs-3g
)
,则允许任何人挂载/卸载ntfs分区。请注意,你要用users而不是user
uid
–
指定ntfs分区中文件和目录的拥有者(用十进制数表示)
gid
–
指定ntfs分区中文件和目录的用户组(用十进制数表示)
fmask
–
文件权限(八进制数掩码)
dmask
–
目录权限(八进制数掩码)
locale
–
曾经用来让使用国际化字符集的文件可见。在ntfs-3g2009.1.1和更新的版本中已不再需要。
noauto
–
启动时不要自动挂载分区。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)