首页 > 代码库 > 磁盘管理之挂载扩容交换分区及其dd命令

磁盘管理之挂载扩容交换分区及其dd命令

一、磁盘挂载回忆小结    

1、挂载磁盘可用的方法

1)设备名进行挂载    2)卷标挂载    3)UUID挂载(此方法常用,UUID为随机生成,唯一性确保挂载成功)   

2、文件挂载配置文件详解 

/etc/fstab每行代表的意义,如下:

1)挂载的设备或伪文件系统    2)挂载点    3)文件系统类型    4)挂载选项    5)转储频率    6)自检次序 

演示:

tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
UUID="39208cf4-4d84-430b-ab53-7a26ad9d786d" /mnt/lv0  ext4  defaults  0 0
UUID=240533cf-b37f-4460-974f-702bab867da5 /                       ext4    defaults        1 1



二、挂载交换分区

swapon命令:

    swapon, swapoff - enable/disable devices and files for paging and swapping

    启用:swapon  swapon [OPTOIONS] [DEVICE]

    禁用:swapoff [OPTOINS] [DEVICE]

    选项:

        -a:激活所有的交换分区 

        -p:priority,设置优先级  

        -s:查看swapon分区 

        使用mkswap写入特殊签名 

swap优先级:

用户可以给某个swap指定一个0到32767的优先级,如果用户没有指定,那么核心会自动给swap指定一个优 先级,这个优先级从-1开始,每加入一个新的没有用户 指定优先级的swap,会给这个优先级减一。 


演示:


[root@centos6 ~]# fdisk /dev/sdb
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): p
Disk /dev/sdb: 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: 0x9d14d54e
   Device Boot      Start         End      Blocks   Id  System
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-15665, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-15665, default 15665): +2G
Command (m for help): p
Disk /dev/sdb: 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: 0x9d14d54e
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         262     2104483+  83  Linux
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)
Command (m for help): p
Disk /dev/sdb: 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: 0x9d14d54e
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         262     2104483+  82  Linux swap / Solaris
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@centos6 ~]# mkswap /dev/sdb1
Setting up swapspace version 1, size = 2104476 KiB
no label, UUID=443bb126-8dc0-45a3-acfe-9a37629bb511
[root@centos6 ~]# vi /etc/fstab
[root@centos6 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="443bb126-8dc0-45a3-acfe-9a37629bb511" TYPE="swap"
[root@centos6 ~]# tail -1 /etc/fstab
UUID=443bb126-8dc0-45a3-acfe-9a37629bb511 swap                    swap    defaults        0 0
[root@centos6 ~]# mount -a
[root@centos6 ~]# swapon -s
FilenameTypeSizeUsedPriority
/dev/sda5                               partition41943000-1
[root@centos6 ~]# swpapon -a
-bash: swpapon: command not found
[root@centos6 ~]# swapon -a
[root@centos6 ~]# swapon -s
FilenameTypeSizeUsedPriority
/dev/sda5                               partition41943000-1
/dev/sdb1                               partition21044760-2
[root@centos6 ~]# cat /etc/fstab |grep "/dev/sdb1"
/dev/sdb1               swap                     swap   defaults,pri=100  0 0
[root@centos6 ~]# swapon -a
[root@centos6 ~]# swapon -s
FilenameTypeSizeUsedPriority
/dev/sda5                               partition41943000-1
/dev/sdb1                               partition21044760-2
[root@centos6 ~]# swapoff /dev/sdb1
[root@centos6 ~]# swapon -p 100 /dev/sdb1
[root@centos6 ~]# swapon -a
[root@centos6 ~]# swapon -s
FilenameTypeSizeUsedPriority
/dev/sda5                               partition41943000-1
/dev/sdb1                               partition21044760100
[root@centos6 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           980        455        525          0         30        273
-/+ buffers/cache:        151        829
Swap:         6151          0       6151
[root@centos6 ~]# touch /swapfile
[root@centos6 ~]# mkswap /swapfile
mkswap: error: swap area needs to be at least 40 KiB
Usage: mkswap [-c] [-pPAGESZ] [-L label] [-U UUID] /dev/name [blocks]
[root@centos6 ~]# dd if=/dev/sda1 of=/swapfile  bs=1M count=2
记录了2+0 的读入
记录了2+0 的写出
2097152字节(2.1 MB)已复制,0.0225383 秒,93.0 MB/秒
[root@centos6 ~]#
[root@centos6 ~]# mkswap /swapfile
mkswap: /swapfile: warning: don‘t erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 2044 KiB
no label, UUID=c865d3b4-0edb-4d31-9a1a-985e74f1c2a5
[root@centos6 ~]# swapon -a
[root@centos6 ~]# swapon -s
Filename				Type		Size	Used	Priority
/dev/sda5                               partition	4194300	0	-1
/dev/sdb1                               partition	2104476	0	100
/swapfile                               file		2044	0	100
[root@centos6 ~]#


三、dd工具

dd命令:

    dd - convert and copy a file

用法:dd=if=/path/from/src of=/path/to/desti        

      bs=block size    count=#  

示例:


磁盘拷贝:

dd if=/dev/sdb of=/dev/sdc  

备份MBR:  

dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1  

破坏MBR中的扇区:

dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446    


实战练习:

有一个大于2K的二进制文件fileA。现在想从第64个字节位置 开始读取,需要读取的大小是128Byts。又有fileB, 想把上 面读取到的128Bytes写到第32个字节开始的位置,替换 128Bytes,请问如何实现? 


答案:dd if=fielA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc 


备份:

dd if=/dev/sdz of=/dev/sdy  #将本地的/dev/sdz备份到/dev/sdy  

dd if=/dev/sdx of=/path/to/image #将本地的sdx备份到相应的文件

dd if=/dev/sda|gzip >/path/to/images.gz #备份并压缩  


恢复:

dd if=/path/to/images.gz of=/dev/sdz #将备份文件恢复到指定盘 

gzip -dc /path/to/image.gz | dd of=/dev/sdx #将压缩的备份文件恢复到指定盘



    


四、磁盘修复小技巧   

注意:/etc/fstab 设备名出错,自检非0,开机会导致无法启动,修复方法如下:小编就不一一演示,想要成功的掌握知识点,就得多动手。。

方法一:

1)关机重启输入密码

2)输入如下命令,并修改/etc/fstab文件,重启即可。

mount -o remount,rw /

方法二:

进入救援模式,重新修改/etc/fstab配置文件


本文出自小耳朵,如有错误希望大家指出,也可以点赞哦,哈哈,记得给管理员留言哦:)






本文出自 “小耳朵” 博客,请务必保留此出处http://purify.blog.51cto.com/10572011/1844054

磁盘管理之挂载扩容交换分区及其dd命令