阿里云的虚拟机ECS在创建时可以指定一个云盘,但在使用过程中,随着时间推移数据越来越多,难免硬盘就不够用了。当然你可以在另外加个云盘,不过总还有用完的时候,而且价格也不便宜。今天给大家介绍一个方法,给阿里云ECS增加OSS作为硬盘,让你立即享受无限量超级大硬盘,哈哈
## 为什么用OSS做外接硬盘,有什么好处:
1\. OSS 无限自动扩容,不用担心硬盘用尽的情况
2\. OSS比云盘价格便宜
## 下载安装
Ubuntu 18.04 (x64)ossfs_1.80.6_ubuntu18.04_amd64.deb
Ubuntu 16.04 (x64)ossfs_1.80.6_ubuntu16.04_amd64.deb
Ubuntu 14.04 (x64)ossfs_1.80.6_ubuntu14.04_amd64.deb
CentOS 7.0 (x64)ossfs_1.80.6_centos7.0_x86_64.rpm
CentOS 6.5 (x64)ossfs_1.80.6_centos6.5_x86_64.rpm
## 快速安装
注意:由于低版本的Linux系统内核版本比较低,ossfs进程在运行过程中容易出现掉线或者其他问题。因此建议您将操作系统升级到CentOS 7.0或者Ubuntu 14.04及以上版本。
- 下载安装包,以下载CentOS 7.0 (x64)版本为例:
wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm
- 安装ossfs。
- Ubuntu系统的安装命令:
sudo apt-get update
sudo apt-get install gdebi-core
sudo gdebi your_ossfs_package - CentOS6.5及以上系统版本的安装命令:
sudo yum localinstall your_ossfs_package
- Ubuntu系统的安装命令:
- 配置账号访问信息
阿里云ECS要访问OSS的话,当然需要授权才能访问,所以首先需要配置授权文件。授权信息存放在 /etc/passwd-ossfs里面。一般没有这个文件,需要创建一个,比如用下面的语句。将Bucket名称以及具有此Bucket访问权限的AccessKeyId/AccessKeySecret信息存放在/etc/passwd-ossfs文件中。注意这个文件的权限必须正确设置,建议设为640。
echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
在哪里可以找到access key和secret key呢? 登录到你的阿里云控制台,点右上角的头像就可以看到。显示secret key时会给你的注册手机发短信确保安全。这里默认的阿里云全局的access key 和 secret key,千万不要泄露,否则别人拿到后干点什么事,你就给给别人买单了 :) 当然最好是在RAM访问控制里面建一个单独的账号,只给他OSS访问权限,拿这个账号的access key和secret key,比较安全一些。
4. 将Bucket挂载到指定目录。my-bucket 是你的阿里云 OSS里面的bucket名字, my-mount-point是ECS虚拟机里的挂接点目录。你多半要先创建一个这样的目录。比如/data/ossfs
mkdir -p /data/ossfs
ossfs my-bucket my-mount-point -ourl=my-oss-endpoint -o allow_other
## 注意事项<干货>:
- 为节省OSS流量,最好用oss的内部链接,如oss-cn-beijing-internal.aliyuncs.com。 OSS的外出流量可以要钱的,省着点用,用内部链接的话就不计OSS的流量了。
- OSS和ECS应该在一个区域内才能使用内网链接,比如你的ECS在华北2(beijing),那你的OSS 的bucket也要在华北2(北京),否则内网连接不管用。
- 最好加上-o allow_other,这个是777权限。要不然其他程序访问这个外挂的 oss目录你会发现莫名其妙的问题,最好还是设置一下。
ossfs mybucketname /data/ossfs -ourl=oss-cn-beijing-internal.aliyuncs.com -o allow_other
如果弄错了需要修改,那就先卸载
fusermount -u /mnt/ossfs
4 记得设置开机自启. 通过fstab的方式自动mount在/etc/fstab中加入下面的命令
ossfs#your_bucket_name your_mount_point fuse _netdev,url=your_url,allow_other 0 0
#your后面的要填自己的bucket信息,不要直接复制粘贴,url如果是内网的话最好填内网url,不走流量
5. 还是要啰唆一点,毕竟在OSS上速度会慢一点,别用来做频繁读写,作为大文件的外接存储就行了。
好了,你现在的ECS就有了一个取之不尽用之不竭的超级大硬盘了。
题外话
学习研究的话可以用虚拟机,真要认真做点事还是要上云,比如阿里云。如果你需要,可以用我的下面这个链接,有折扣返现。
https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=vltv9frd