Linux磁盘管理入门教程(2)

g)  执行parted –a/dev/sda一次或多次直到显示创建的新的分区
[root@bogon ~]# partx -a /dev/sda
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
[root@bogon ~]# partx -a /dev/sda
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
BLKPG: Device or resource busy
error adding partition 3
[root@bogon ~]# fdisk -l
 
Disk /dev/sda: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 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: 0x0004a6ba
 
  Device Boot      Start        End      Blocks  Id  System
/dev/sda1  *          1          26      204800  83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        7859    62914560  8e  Linux LVM
/dev/sda3            7859        9164    10489446  83  Linux

partx -a 其实就是通知(告诉)内核,磁盘信息变动了,你更新一下,一次没有显示,我们可以多执行一下看看结果,是不是10G的主分区就创建成功了。因此,这里特别留意两个命令partx 和fdisk
主分区我们创建了,可是我想创建一个交换分区,怎么创建呢?下面我们就来看看
大家知道swap分区就是内存空间,空间前后那就是不一样的了,我们先来查看一下内存空间

[root@bogon ~]# free -m
            total      used      free    shared    buffers    cached
Mem:          845        157        687          0        12        55
-/+ buffers/cache:        90        754 
Swap:        2047          0      2047

现在开始创建一个swap分区

[root@bogon ~]# mkswap /dev/sda4
mkswap: /dev/sda4: warning: don't erase bootbits sectors
        (dos partition table detected). Use -f to force.
Setting up swapspace version 1, size = 31463296 KiB
no label, UUID=c0c990f9-9d68-41d6-8e75-1eb41b08c4fc
[root@bogon ~]# mkswap -f /dev/sda4
Setting up swapspace version 1, size = 31463296 KiB
no label, UUID=5017d30a-1d96-4e47-b4ba-274d132afeb9
[root@bogon ~]# free -m
            total      used      free    shared    buffers    cached
Mem:          845        157        687          0        12        55
-/+ buffers/cache:        90        754 
Swap:        2047          0      2047 
[root@bogon ~]# swapon /dev/sda4
[root@bogon ~]# free -m
            total      used      free    shared    buffers    cached
Mem:          845        180        664          0        12        55
-/+ buffers/cache:        112        732 
Swap:        32773          0      32773 
[root@bogon ~]#

当然我们也是可以把一个已经创建的分区调整为swap分区
a)  Fdisk /dev/sda进入磁盘分区环境
b)  n 添加一个新的磁盘
c)  回车选择默认的起始扇区
d)  输入格式为”+[MG]”磁盘空间大小
e)  l 显示调整分区的系统ID,swap(82)
f)  t 调整分区
g)  输入调整的分区号
h)  输入要想调整的分区类型ID(82)
i)  p 查看分区调整的结果
j)  w 保存
k)  kpartx  -af /dev/sda重读一次或者两次,或者手动调整,使用kpartx –a /dev/sda#,#是调整的那个分区号,手动的添加一个分区
l)  fdisk –l /dev/sda 查看显示是否成功
下面是源码展示:步骤很清楚
[root@bogon ~]# fdisk /dev/sda
 
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): n
First cylinder (9165-13081, default 9165): 
Using default value 9165
Last cylinder, +cylinders or +size{K,M,G} (9165-13081, default 13081): +100M
 
Command (m for help): l
 
 0  Empty          24  NEC DOS        81  Minix / old Lin bf  Solaris       
 1  FAT12          39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      3c  PartitionMagic  83  Linux          c4  DRDOS/sec (FAT-
 3  XENIX usr      40  Venix 80286    84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      41  PPC PReP Boot  85  Linux extended  c7  Syrinx         
 5  Extended        42  SFS            86  NTFS volume set da  Non-FS data   
 6  FAT16          4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS      4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility   
 8  AIX            4f  QNX4.x 3rd part 8e  Linux LVM      df  BootIt         
 9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O       
 b  W95 FAT32      52  CP/M            9f  BSD/OS          e4  SpeedStor     
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs       
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD        ee  GPT           
 f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD        ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk    a8  Darwin UFS      f1  SpeedStor     
12  Compaq diagnost 61  SpeedStor      a9  NetBSD          f4  SpeedStor     
14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot    f2  DOS secondary 
16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS   
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs        fc  VMware VMKCORE 
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap      fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX          bb  Boot Wizard hid fe  LANstep       
1c  Hidden W95 FAT3 80  Old Minix      be  Solaris boot    ff  BBT           
1e  Hidden W95 FAT1
 
Command (m for help): t
Partition number (1-5): 5
Hex code (type L to list codes): 82
Changed system type of partition 5 to 82 (Linux swap / Solaris)
 
Command (m for help): p
 
Disk /dev/sda: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 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: 0x0004a6ba
 
  Device Boot      Start        End      Blocks  Id  System
/dev/sda1  *          1          26      204800  83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        7859    62914560  8e  Linux LVM
/dev/sda3            7859        9164    10489446  83  Linux
/dev/sda4            9165      13081    31463302+  5  Extended
/dev/sda5            9165        9178      112423+  82  Linux swap / Solaris
 
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.
[root@bogon ~]# kpartx -a /dev/sda
device-mapper: reload ioctl on sda1 failed: Invalid argument
create/reload failed on sda1
device-mapper: reload ioctl on sda2 failed: Invalid argument
create/reload failed on sda2
device-mapper: reload ioctl on sda3 failed: Invalid argument
create/reload failed on sda3
device-mapper: reload ioctl on sda4 failed: Invalid argument
create/reload failed on sda4
device-mapper: reload ioctl on sda5 failed: Invalid argument
create/reload failed on sda5

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/15417.html