购买了zxhost家的大盘vps,第一次发现给的2tb硬盘需要自己挂载,通过网路收集各家的笔记,给自己做一个记录:
系统修改的地方:
自己的系统,然后启动顺序把第一个的disk改掉,boot改network 和cdrom。novnc进去就好,这个是题外话,
一、查询现有硬盘情况:
从这里可以看出,共有两块硬盘,分别是sda和sdb
运行: sudo fdisk -l
可以看出,sdb这块硬盘还没有分区信息,大小也符合,说明就是我们要添加的硬盘
运行 ll -h /dev/sd*
测试linux系统是否能找到挂载的未分区硬盘:
得到:
brw-rw---- 1 root disk 8, 0 4月 19 05:15 /dev/sda
brw-rw---- 1 root disk 8, 1 4月 19 05:15 /dev/sda1
brw-rw---- 1 root disk 8, 16 4月 19 05:15 /dev/sdb
Linux 硬盘识别:
2.6 kernel以后,linux会将识别到的硬件设备,在/dev/下建立相应的设备文件.
如:
sda 表示第1块SCSI硬盘,第二块是sdb,以此类推
hda 表示第1块IDE硬盘(即连接在第1个IDE接口的Master口上)
scd0 表示第1个USB光驱.
当添加了新硬盘后,在/dev目录下会有相应的设备文件产生.cciss的硬盘是个例外,它的
设备文件在/dev/cciss/目录下.
创建未被挂载的磁盘分区:
fdisk /dev/sdb
下面全是命令行下的操作过程:
查看帮助信息
Command (m for help): m
Command action
a toggle a bootable flag 将分区设置为启动区
b edit bsd disklabel 编辑bsd的disklabel
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 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)
查看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 (1-4, default 1): 1 //在这里输入l,就进入划分逻辑分区阶段了;
First sector (2048-41943039, default 2048):
Using default value 2048 //注:这个就是分区的Start 值;这里最好直接按回车,如果您输入了一个非默认的数字,会造成空间浪费;
Last sector, +sectors or +size{K,M,G} (2048-41943039, 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 re-read partition table.
Syncing disks.
fdisk的操作告一段落,现在可以再用 sudo fdisk -l
查看硬盘信息就可以看到sdb1新分区了
vagrant@vagrant-ubuntu-trusty-64:~$ 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@vagrant-ubuntu-trusty-64:~$ sudo mkfs.ext3 /dev/sdb1
mke2fs 1.42.9 (4-Feb-2014)
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
把/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
成功安装
参考:
迁移旧的 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=175ab25f-5190-4df7-8795-8a00a0f78fd6 /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 目录下的用户登录主机了。