Linux 添加硬盘设备

fdisk命令用于管理磁盘分区,格式为:“fdisk [磁盘名称]”。

管理Linux系统中的硬盘设备最常用的方法就当属是用fdisk命令了,这条命令提供了添加、删除、转换分区等等功能于一身的“一站式分区服务”,不过这条命令的参数是交互式的,而不是像咱们以前直接写到命令后面的参数一样,因此在管理硬盘设备的时候特别方便,可以根据需求动态的调整。

参数 作用
m 查看全部可用的参数
n 添加新的分区
d 删除某个分区信息
l 列出所有可用的分区类型
t 改变某个分区的类型
p 查看分区表信息
w 保存并退出
q 不保存直接退出

一、添加磁盘分区

查看当前磁盘及分区情况:

[[email protected] ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root  8.5G  3.1G  5.5G  36% /
devtmpfs               986M     0  986M   0% /dev
tmpfs                 1001M   84K 1001M   1% /dev/shm
tmpfs                 1001M  8.7M  992M   1% /run
tmpfs                 1001M     0 1001M   0% /sys/fs/cgroup
/dev/sda1              497M  140M  358M  29% /boot
tmpfs                  201M   16K  201M   1% /run/user/42
tmpfs                  201M     0  201M   0% /run/user/0
[[email protected] ~]# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0006c4ff

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    20971519     9972736   8e  Linux LVM

Disk /dev/mapper/rhel-root: 9093 MB, 9093251072 bytes, 17760256 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/rhel-swap: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

[[email protected] ~]#

从上面可以看出,第二块磁盘/dev/sdb共5368MB,并未使用。现在我们使用 fdisk 命令来将/dev/sdb划分出500MB,挂载到/lxjtest目录;然后再划分出200MB当作swap分区使用。

第1步:首先使用fdisk命令尝试管理/dev/sdb硬盘设备,看到提示信息后输入参数p来查看硬盘设备内已有的分区信息,这其中包括了硬盘的容量大小,扇区个数等等信息:

[[email protected] ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table  ---磁盘未包括任何可用的分区
Building a new DOS disklabel with disk identifier 0x148e18c9.

Command (m for help): p

Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x148e18c9

   Device Boot      Start         End      Blocks   Id  System

第2步:输入参数n来尝试新建分区信息,系统会要求选择继续输入参数p来创建主分区,或者输入参数e来创建扩展分区,因此输入参数p来创建一个主分区:

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p

第3步:确认创建一个主分区后,系统要求您先输入分区的编号,既然已经知道主分区的编号范围是1-4,因此默认输入1就可以了,接下来系统会提示定义下起始的扇区,这一项默认不需要改动,系统会自动计算出最靠前空闲的扇区位置,咱们敲击一下回车就可以,最后系统会要求定义分区的结束扇区位置,这其实就是想要去定义下整个分区的大小是多少,但其实不用去算扇区的个数,只需要输入+500M即可创建出一个容量为500MB的硬盘分区。

Partition number (1-4, default 1):
First sector (2048-10485759, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759): +500M
Partition 1 of type Linux and of size 500 MiB is set

第4步:再次使用参数p来查看下硬盘设备中的分区信息,果然就能看到一个名称为/dev/sdb1,起始扇区为2048,结束扇区是1026047的分区啦,这时候千万不要直接关闭窗口,而应该敲击参数w后回车,这样分区信息才是真正的写入成功啦。

Command (m for help): p

Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x148e18c9

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     1026047      512000   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[[email protected] ~]#

第5步:当做完上面所说的所有步骤后,Linux系统会自动把这个硬盘分区抽象成/dev/sdb1这个设备文件,可以用file命令来看到这个文件的属性。有些时候系统并没有自动的把分区信息同步给Linux内核,也可以输入partprobe命令来手动的同步信息到内核,而且一般推荐敲击两次会效果更佳,但一旦遇到连这个命令都不能解决的时候,那么就重启计算机吧。

[[email protected] ~]# file /dev/sdb1
/dev/sdb1: block special

使用mkfs格式化/dev/sdb1分区。

[[email protected] ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=256    agcount=4, agsize=32000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=128000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[[email protected] ~]#

接下来就可以挂载使用了。

[[email protected] ~]# mkdir /lxjtest
[[email protected] ~]# mount /dev/sdb1 /lxjtest/
[[email protected] ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root  8.5G  3.1G  5.5G  36% /
devtmpfs               986M     0  986M   0% /dev
tmpfs                 1001M   84K 1001M   1% /dev/shm
tmpfs                 1001M  8.7M  992M   1% /run
tmpfs                 1001M     0 1001M   0% /sys/fs/cgroup
/dev/sda1              497M  140M  358M  29% /boot
tmpfs                  201M   16K  201M   1% /run/user/42
tmpfs                  201M     0  201M   0% /run/user/0
/dev/sdb1              497M   26M  472M   6% /lxjtest

使用mount命令挂载的设备文件会在下一次重启的时候失效,因此如果您还想让这个设备文件的挂载永久的有效下去,需要把挂载的信息项目写入到配置文件才可以:

[[email protected] ~]# vi /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Wed Jul  5 03:56:47 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
#
/dev/mapper/rhel-root   /                       xfs     defaults        0 0
UUID=4f396f9a-467e-4472-a654-836f2dc7d6ca /boot                   xfs     defaults        0 0
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
/dev/sdb1       /lxjtest        xfs     defaults        0 0
二、添加交换分区

SWAP交换分区是一种类似于Windows系统虚拟内存的功能,通过把一部分硬盘空间虚拟成内存来使用,从而解决内存容量不足的情况。但由于SWAP毕竟是用硬盘资源虚拟的,速度上比真实物理内存要慢很多,所以一般只有当真实物理内存耗尽时才会调用SWAP交换分区,把内存中暂时不常用的数据临时存放到硬盘中,腾出内存空间让更活跃的程序服务来使用。

第1步:SWAP交换分区的创建过程非常类似于上一个小节所讲到的分区设备挂载使用的方法,首先第一步就是再进行对/dev/sdb存储设备分区操作,取出一个大小为200MB的主存储分区然后保存退出即可:

[[email protected] ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (2-4, default 2):
First sector (1026048-10485759, default 1026048):
Using default value 1026048
Last sector, +sectors or +size{K,M,G} (1026048-10485759, default 10485759): +200M
Partition 2 of type Linux and of size 200 MiB is set

Command (m for help): p

Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x148e18c9

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     1026047      512000   83  Linux
/dev/sdb2         1026048     1435647      204800   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[[email protected] ~]# partprobe 执行该命令将分区信息同步到内核

第2步:把新建的存储分区使用SWAP交换分区专用的格式化mkswap命令进行格式化操作:

[[email protected] ~]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 204796 KiB
no label, UUID=4746286f-4680-4a05-878d-118fff5904ac

第3步:接下来使用swapon命令把准备好的SWAP交换分区设备正式的挂载到系统中,并可以使用free -m 命令来看到交换分区大小的变化(由1023M提升至了1223M):

[[email protected] ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           2000         259        1398           8         342        1578
Swap:          1023           0        1023
[[email protected] ~]# swapon /dev/sdb2
[[email protected] ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           2000         259        1398           8         342        1578
Swap:          1223           0        1223

第4步:为了能够让新的SWAP交换分区设备在重启后依然生效,需要按照下面的格式写入到配置文件中。

[[email protected] ~]# vi /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Wed Jul  5 03:56:47 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
#
/dev/mapper/rhel-root   /                       xfs     defaults        0 0
UUID=4f396f9a-467e-4472-a654-836f2dc7d6ca /boot                   xfs     defaults        0 0
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
/dev/sdb1       /lxjtest        xfs     defaults        0 0
/dev/sdb2       swap    swap    defaults        0 0
时间: 2024-11-05 18:46:04

Linux 添加硬盘设备的相关文章

linux添加裸设备

1.什么裸设备?字符设备?块设备? 裸设备:也叫裸分区(原始分区),是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊字符设备.裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备.它由应用程序负责对它进行读写操作.不经过文件系统的缓冲.裸设备可以绑定一个分区,也可以绑定一个磁盘. 字符设备:对字符设备的读写不需要通过OS的buffer.它不可被文件系统mount. 块设备:对块设备的读写需要通过OS的buffer,它可以被mou

Linux添加硬盘 挂载硬盘(附 Linux磁盘挂载和mount共享 带图)

Linux添加硬盘 在为主机添加硬盘前,首先要了解Linux系统下对硬盘和分区的命名方法. 在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb.依此类推 一般主板上有两个IDE接口,一共可以安装四个IDE设备.主IDE上的两个设备分别对应hda和hdb,第二个IDE口上的两个设备对应hdc和hdd. 一般硬盘安装在主IDE的主接口上,所以是hda 光驱一般安装在第二个IDE的主接口上,所以是hdc(应为hdb是用来命名主IDE上的从接口) SCSI接口设备是用s

详解虚拟机中为Linux添加硬盘

Linux添加硬盘是在原来安装的硬盘空间不够或者需要使用其他硬盘上的东西时候的解决办法,因为大多数初学者习惯使用虚拟机,这里以在Vmware虚拟机中实现Linux添加硬盘的具体步骤来详细介绍说这个问题. Vmware中为linux增加硬盘 1. 在vmware的setting中为虚拟机增加一个硬盘. 2. 在vmware中看见 第1个硬盘是 /dev/sda , 第2个硬盘是 /dev/sdb 3. 创建硬盘信息 fdisk /dev/sdb a. 按n添加分区,选p(主分区);b. 选1,也就

linux 添加硬盘

给linux主机添加硬盘后启动系统,系统将自动检测硬件设备.由于是新添加的硬盘,硬盘并没分区和格式化(执行fdisk -l命令后提示:Disk /dev/sdb doesn't contain a valid partition table) .IDE 硬盘一般是hdx,scsi硬盘一般为sdx,x为a,b,c,d 2.linux下对分区的编号,第一个primary分区为1,其次为2,3,最大为4, 扩展盘上的逻辑分区从5开始.注意这里硬盘排列的顺序和windows下的cde不同,所以要数对了,

Linux添加硬盘不重启进行识别

环境:centos 6.7esxi:5.5 在线发现Linux虚拟机硬盘 操作1:新增硬盘300G 操作2:登录系统查看,无法发现新增的300G 操作3:查看主机总线号,命令:ls /sys/class/scsi_host/ 操作4:重新扫描SCSI总线添加新设备,正常发现300G 逻辑卷扩容操作 操作1:分区,创建逻辑分区 操作2:扫描分区,发现逻辑分区 操作3:创建物理卷 操作4:扩展现有卷组 rootvg卷组名shell>vgs 查看所有卷组 操作5:查看卷组扩容后大小 操作6:扩展现有逻

vmware下linux 添加硬盘

1.在虚拟机的设置中增加一块硬盘. setting -> add disk -> create a new virtual disk -> SCSI 设定大小,这里给3G:更改名称,我这个硬盘用来安装Oracle ,名字为oradata.vmdk 2.格式化硬盘. [root@yaokj ~]# fdisk -l /dev/sdb Disk /dev/sdb: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylin

Linux添加硬盘与fdisk分区、mke2fs格式化分区、自动挂载

fdisk工具只能给2T以下的磁盘进行分区,2T以上使用Parted分区 一.使用fdisk给指定硬盘进行分区 [[email protected] ~]# fdisk /dev/sdbDevice contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabelBuilding a new DOS disklabel with disk identifier 0x21248295.Changes will r

vmware下给linux添加硬盘

http://blog.csdn.net/robbie1314520/archive/2010/08/10/5802724.aspx 创建虚拟硬盘 1.关闭VM中正在运行的虚拟系统: 2.EDIT Virtual Machine Settings: 3.在Hardware页点“Add”->Add a hard disk->Create a new virtual disk->SCSI(recommended)->分配空间大小->OK: 4.可以看见Hardware中出现了一块

Linux 添加硬盘并分区

*********************** 1.fdisk /dev/sdb 2.m   //帮助 3.p   // p 列出分区表 4.q   //不保存退出: 5.wq  //保存退出 6.n   //新建 ********************* mkfs.ext4 /dev/sdb1 ********************* mkdir /xiguan mount /dev/sdb2 /xiguan ****************** 修改/etc/fstab