挂载硬盘和交换分区

1. 重新挂载硬盘

目前的解决方案是: 将8T硬盘新增一个分区, 然后将新增的分区再挂载即可.

mount # 查看硬盘挂载点
sudo blkid # 硬盘UUID序列号

8T硬盘ID为/dev/sda. 一共7.3T, 输出信息如下:
Disk /dev/sda: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 413E6AC4-5F07-4EAC-832E-8A00DFEF1ED5

设备           Start      末尾      扇区   Size 类型
/dev/sda1       2048   400001023   399998976 190.8G Linux filesystem
/dev/sda2  400001024   402001919     2000896   977M Linux filesystem
/dev/sda3  402001920 15628052479 15226050560   7.1T Linux swap

从输出信息可以看出/dev/sda一共有三个分区: /dev/sda1, /dev/sda2, /dev/sda3三个主分区, 那么我们可以创建一个分区/dev/sda4.

(1) 首先要修改swap分区的大小. 在删除/dev/sad3分区后才能成功.

$ sudo mkdir /swap # 根目录创建swap目录
$ cd /swap
$ sudo dd if=/dev/zero of=swapfile bs=1M count=65k # 自己希望的交换分区文件的大小. 创建分区的大小就 = bs * count, 单位为bytes. 内存为32G, 因此swap分区大小设置为65G. 1M * 65K = 65G. 这步比较慢.
成功后会有提示, 这时候查看swap文件夹下会多一个交换文件(swapfile), 文件名字你可以自己定义在上面创建命令里.
$ sudo mkswap swapfile # 把生成的文件转换成Swap文件, 输出:
Setting up swapspace version 1, size = 65 GiB (69793214464 bytes)
无标签, UUID=f4db8ec5-bb61-4c6e-86d9-d6bbb68e56ad
$ sudo swapon swapfile # 挂载交换分区
如果输出: swapon: /swap/swapfile: 不安全的权限 0644, 建议使用 0600. 修改swapfile权限, 
sudo chmod 0600 /swap/swapfile
然后再挂载, 如果出现swapon 失败: 设备或资源忙, 可以先将swapfile卸载即swapoff, 然后再挂载即swapon.

$ sudo swapoff swapfile # 卸载swap文件, 卸载后, swapfile这个文件就可以删除了.

自动挂载交换文件, 需要一直保持这个swap.
$ sudo vi /etc/fstab
再最后添加
/swap/swapfile     swap    swap      defaults     0  0

失败, 无法修改! 只是当关闭/dev/sda3分区时有用, 即sudo swapoff /dev/sda3有用, 但是重启后swap分区没有改变. 修改/etc/fstab没有办法, 可能的原因是/dev/sda3分区在开机启动时自动挂载, 所以才会这样. 使用分区做为SWAP比较好, 速度比文件的快, 也不容易产生磁盘碎片.

(2) 删除/dev/sda3分区, 重新建立新的分区. 一个是swap分区, 一个是剩余磁盘分区.

$ sudo vi /etc/fstab # 删除对应的swap行.
删除分区
$ sudo fdisk /dev/sda # 根据提示符进行操作即可. 输入的是/dev/sda, 然后删除/dev/sda3分区.
d # 删除分区
3 # 分区号 (1-3, default 3)
w # 操作生效

删除完/dev/sda3分区后, 重启. 发现正在使用的swap分区是自己创建的swapfile. 接下来要新建分区作为swap, 这样速度比文件更快!

(3) 8T硬盘ID为/dev/sda. 使用fdisk在/dev/sda新增一个分区/dev/sda4:

sudo fdisk /dev/sda # 在/dev/sda上新建分区
m: 帮助信息
n: 新增分区
    1> p: 主分区 
	   e: 扩展分区
	   选择主分区
	2> Partition number. 输出为4-128, 默认为4
	   选择4, 即创建分区/dev/sda4
	3> First sector. 可以选择的有402001920-15628053134. 利用sudo fdisk -l可以看出每个分区的First sector和Last sector, 即Start和末尾.
       默认选择2048. 这里选择和其他三个分区不同的号即可, 这里Start要和上一个分区的末尾连续, 即402001920. 这是默认值.
    4> Last sector, +sectors or +size{K,M,G,T,P} (402001920-15628053134, default 15628053134)
       可以直接输入新建分区的大小, 支持K,M,G,T,P, 如+7T, 输入时添加+. 如果不输入, 默认为15628053134, 即是磁盘的容量的最大bytes值.
       选择完First sector和Last sector后, 会输出Created a new partition 3 of type 'Linux filesystem' and of size 7 TiB.
    5> w
       操作生效.
    6> sudo partprobe # 重载分区表, 使新分区生效
	   这样sudo fdisk -l, 就有新建的分区/dev/sda3. 但是这个时候, 建立好的分区还不能用, 还需要挂载才可以用. 但是挂载之前, 必须要格式化, 才行.
	# 格式化新建分区
	7> sudo mkfs -t ext4 /dev/sda3 # 格式化为ext4格式
	# 挂载新建分区
	8> sudo mount /dev/sda3 /home/dataresource  # 挂载到/home/dataresource
	# 设置开机自动挂载
	9> sudo vi /etc/fstab
	   在末尾添加:
	   /dev/sda3  /home/dataresource  ext4  defaults  1  2 # 将硬盘挂载到/home目录下. 
	   # 新机系统原始安装的时候, /和/home使用的是同一个挂载点, 而且大小就是200G, 这样就太不合理了. 
	   # 如果将7T挂载到/home/dataresource, 那么/home和/home/dataresource就没有关系, 两个使用不同的挂载点.
	   # 为了保证统一, 还是将7T硬盘挂载到/home下, 这样重启之后, /home下的文件将不可见. 需要重新安装CUDA即可. 

你可能感兴趣的:(Linux)