Linux-新硬盘分区-格式-挂载到home

Linux-新硬盘分区-格式-挂载到home

购买了某家的大盘vps,第一次发现给的2tb硬盘需要自己挂载,通过网路收集各家的笔记,给自己做一个记录:

系统修改的地方:

自己的系统,然后启动顺序把第一个的disk改掉,boot改network 和cdrom。novnc进去就好,这个是题外话,

一、查询现有硬盘情况:

从这里可以看出,共有两块硬盘,分别是sda和sdb

运行: sudo fdisk -l

Linux-新硬盘分区-格式-挂载到home

 

可以看出,sdb这块硬盘还没有分区信息,大小也符合,说明就是我们要添加的硬盘

运行 ll -h /dev/sd* 测试linux系统是否能找到挂载的未分区硬盘:

得到:

brwrw 1 root disk 8,  0  419 05:15 /dev/sda
brwrw 1 root disk 8,  1  419 05:15 /dev/sda1
brwrw 1 root disk 8, 16  419 05:15 /dev/sdb

 

Linux 硬盘识别:
2.6 kernel以后,linux会将识别到的硬件设备,/dev/下建立相应的设备文件.
:
sda 表示第1SCSI硬盘,第二块是sdb,以此类推
hda 表示第1IDE硬盘(即连接在第1IDE接口的Master口上)
scd0 表示第1USB光驱.
当添加了新硬盘后,/dev目录下会有相应的设备文件产生.cciss的硬盘是个例外,它的
设备文件在/dev/cciss/目录下.

创建未被挂载的磁盘分区:

fdisk /dev/sdb

下面全是命令行下的操作过程:

# 查看帮助信息
Command (m for help): m
Command action
a toggle a bootable flag 将分区设置为启动区
b edit bsd disklabel 编辑bsddisklabel
c toggle the dos compatibility flag 设置该分区为dos分区
d delete a partition 删除分区
l list known partition types 列出已知的分区类型
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 partitions system id改变分区类型
u change display/entry units
v verify the partition table
w write table to disk and exit 保存退出
x extra functionality (experts only)
# 查看sdb这块硬盘的分区
Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 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 identifier: 0xf74052cc
   Device Boot      Start         End      Blocks   Id  System
# 创建sdb这块硬盘的分区
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)    //输入p为创建逻辑分区
   e   extended                                   //输入e为创建扩展分区
Select (default p): p                            
Partition number (14, default 1): 1        //在这里输入l,就进入划分逻辑分区阶段了;
First sector (204841943039, default 2048):
Using default value 2048 //注:这个就是分区的Start 值;这里最好直接按回车,如果您输入了一个非默认的数字,会造成空间浪费;
Last sector, +sectors or +size{K,M,G} (204841943039, default 41943039):
Using default value 41943039   注:这个是定义分区大小的,+200M 就是大小为200M ;当然您也可以根据p提示的单位cylinder的大小来算,然后来指定 End的数值。回头看看是怎么算的;还是用+200M这个办法来添加,这样能直观一点。如果您想添加一个10G左右大小的分区,请输入 +10000M
#查看创建sdb硬盘的分区
Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 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 identifier: 0xf74052cc
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   83  Linux
#保存退出,分区创建结束
Command (m for help): w      //最后输入w回车保存。  
The partition table has been altered!
Calling ioctl() to reread partition table.
Syncing disks.

fdisk的操作告一段落,现在可以再用 sudo fdisk -l 查看硬盘信息就可以看到sdb1新分区了

vagrant@vagrantubuntutrusty64:~$ sudo fdisk l
Disk /dev/sda: 42.9 GB, 42949672960 bytes
4 heads, 32 sectors/track, 655360 cylinders, total 83886080 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 identifier: 0x000020ea
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    83886079    41942016   83  Linux
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
213 heads, 34 sectors/track, 5791 cylinders, total 41943040 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 identifier: 0xf74052cc
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   83  Linux

(因fdisk分区最大只能2T,超出需要使用parted来分区.)

执行命令parted /dev/sdb.

详细地址:https://jingyan.baidu.com/article/7c6fb4287c853880652c9067.html

格式化未被挂载的磁盘:

sudo mkfs.ext3 /dev/sdb1
#看自己的情况选择:ext3 ext4
sudo mkfs.ext4 /dev/sdb1

下面是具体过程:

vagrant@vagrantubuntutrusty64:~$ sudo mkfs.ext3 /dev/sdb1
mke2fs 1.42.9 (4Feb2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242624 blocks
262131 blocks (5.00%) reserved for the super user
First data block=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
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

创建目录并挂载:(这里边分歧比较多了)主要是挂载到/home

blkid /dev/sdb1(得出UUID的数字)

一:这个方法我自己实验成功

sudo blkid

Linux-新硬盘分区-格式-挂载到home

把/dev/sdb1那行记录下来给下边的修改

备份你的fstab文件

sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)

比较一下备份的文件是否有差别,有差别重新备份一次

cmp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)

用你最喜欢的编辑器,打开文件/ect/fstab 输入如下

# (identifier)  (location, eg sda5)   (format, eg ext3 or ext4)      (some settings)  
UUID=????????   /media/home    ext4          defaults       0       2

注:把这里的UUID和你分的区的替换,还有文件格式替换,其他的就不用管了,保存退出

新建一个目录/media/home

sudo mkdir /media/home

使用命令挂载:

sudo mount -a

并重启机器

使用rsync命令来同步所有的/home下的文件到/media/home

sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/home/.

注: 这样添加–exclude,防止说不让复制.gvfs文件,并把整个现在的/home下的文件复制到了/media/home中

检测一下是否同步是完成的,输入:

sudo diff -r /home /media/home

再次编辑fstab文件,挂载为把刚才的/media/home改为/home

# (identifier)  (location, eg sda5)   (format, eg ext3 or ext4)      (some settings)  
UUID=????????   /home    ext4          defaults       0       2

注:这里就把刚才的/media/home 更改为/home

修改当前的文件/home为/old_home重启

删除/old_home

sudo rm -rf /old_home

Linux-新硬盘分区-格式-挂载到home

成功安装

参考:

迁移旧的 home 目录文件到新硬盘
首先,你得挂载已经分区好的硬盘,然后把 home 目录下的全部文件拷贝到硬盘挂载的目录下。然后删除 home 目录,最后把第一步挂载好的新硬盘重新挂载在 home 目录下。下文是详细步骤。
这部分的内容得使用 root 用户登录主机,因为涉及到把 home 目录删除,所有的非 root 用户都会失效。
挂载设置好的硬盘
sudo mkdir /mnt/tmp
sudo mount /dev/sdb1 /mnt/tmp
同步 home 目录所有文件,删除之前的 home 目录下的所有文件
sudo rsync avx /home/ /mnt/tmp
确定同步成功之后,删除旧 home 目录
rm rf /home/*  #deletes the old home
//卸载 /home
umount l /home
重新挂载新硬盘并设置启动挂载
sudo mount /dev/sdb1 /home
设置系统启动挂载需要得到硬盘的信息
sudo blkid
/dev/sdb1: UUID=“175ab25f-5190-4df7-8795-8a00a0f78fd6” TYPE=“ext3” PARTUUID=“5b9f9d07-01”
/dev/sdc: LABEL=“YUNIFYSWAP” UUID=“f490fae5-73c7-47a0-88df-084f3ed627e0” TYPE=“swap”
/dev/sda1: UUID=“5c51f0c7-6ad1-41e5-8026-a75466a07617” TYPE=“ext4” PARTUUID=“d6ee97c2-01”
获取到的 UUID  TYPE 在下文会用到。
接着编辑 /etc/fstab 文件,把以下代码添加到最后
UUID=175ab25f51904df787958a00a0f78fd6 /home           ext4    defaults      0       2
结束
运行 df h 即可看到我们新挂载在 home 目录的硬盘设备
Filesystem      Size  Used Avail Use% Mounted on
udev            982M     0  982M   0% /dev
tmpfs           201M   12M  190M   6% /run
/dev/sda1        20G  2.8G   16G  16% /
tmpfs          1001M     0 1001M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs          1001M     0 1001M   0% /sys/fs/cgroup
tmpfs           100K     0  100K   0% /run/lxcfs/controllers
tmpfs           201M     0  201M   0% /run/user/0
/dev/sdb1        99G   20G   75G  21% /home
tmpfs           201M     0  201M   0% /run/user/1001
/dev/sdb1 99G 20G 75G 21% /home 就是我们最终添加的,此刻可以退出 root 用户并用之前 home 目录下的用户登录主机了。

 

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容