腾讯云轻量对象存储(LHCOS)推出已经有段时间了,秉持轻量的原则,LHCOS对对象存储的功能进行了大幅的简化以降低成本及增强易用性。
在2025年3月25日,腾讯云轻量团队正式宣布为拥有旗下锐驰型200M轻量的用户免费赠送一个50G的全地域LHCOS存储包(点击前往),有效期对齐最晚到期的锐驰实例。虽然并未免费赠送免费的流量包,但LHCOS不设读写请求计费,我们可以搭配驰型轻量实现免费扩展存储或高速对外访问(任意轻量实例或CVM均可)。其中,控制台上的挂载功能使用的是一个较为边缘的项目cosfs
,该功能同时需轻量实例中TAT助手在线。作为兼容S3的COS,其玩法不止于此,正好在此简单分享下博主的一些玩法。
一、设置CAM
对于腾讯云而言,虽然主账号API的AK和SK也是能操作LHCOS的,但是博主强烈反对在长期的应用中如此,需要格外提防由于密钥泄露造成的高额损失。腾讯云CAM位于【云资源管理】-【访问管理】下,可从右上角头像下拉菜单快速前往(点击前往)。在用户列表中新建一个CAM子账户,无需控制台访问和权限授予,直接生成并记录下API密钥的AK和SK即可。
二、设置COS
来到【轻量应用服务器】-【对象存储】页面下可以看到免费赠送的存额度,随后在下方新建轻量应用服务器或CVM对应地域的存储桶。
进入新建的存储桶,在属性设置中为子账户授予该LHCOS存储桶的完全控制权限,如果对所用工具的对象权限控制不够熟悉建议仅勾选数据读取和写入。保守起见,如果你仅需与实例通过API交互(如rclone的挂载与同步等),公共权限请设置为私有读写;如果确实需要通过反向代理对外访问,则应参照后文在保证安全的基础上选择公有读私有写权限,慎重选择风险极大的公有读写权限。
目前轻量对象存储LHCOS支持的地域仅有如下6个,海外地域待进一步扩展,搭配选购时需留意。
地域 | Region | 地域 | Region |
北京 | ap-beijing | 上海 | ap-shanghai |
广州 | ap-guangzhou | 成都 | ap-chengdu |
南京 | ap-nanjing | 香港 | ap-hongkong |
三、Rclone挂载
Rclone是一个非常成熟的命令行存储管理工具,广泛支持大量的网盘、对象存储等。由于使用go语言构建没有任何三方依赖,可以从官网的deb或rpm包安装,可以直接下载二进制文件跑,也可以通过官方一键脚本安装。软件下载(点击前往),安装文档(点击前往)。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# 一键安装 sudo -i #提权 curl https://rclone.org/install.sh | bash #运行安装脚本 # 二进制文件安装 cd /tmp #进入临时路径 curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip #下载当前版本 unzip rclone-current-linux-amd64.zip #解压 cd rclone-*-linux-amd64 #进入解压后文件夹 sudo cp rclone /usr/bin/ #复制二进制文件 sudo chown root:root /usr/bin/rclone #设置用户组 sudo chmod 755 /usr/bin/rclone #设置权限 cd .. && rm -rf rclone* #清理无用文件 |
随后可以通过rclone config
进行测试,对于添加LHCOS博主建议直接编辑原始文件/root/.config/rclone/rclone.conf
,直接将LHCOS的配置添加至末尾即可,在修改时请删除其中的所有注释。
1 2 3 4 5 6 7 8 9 |
[cos] #存储策略名称,不可重复 type = s3 provider = TencentCOS env_auth = false access_key_id = AKID... #密钥ID secret_access_key = Sitp... #密钥 endpoint = cos.ap-nanjing.myqcloud.com #修改终结点的地域ID acl = default #访问权限 storage_class = default #存储层级,仅支持默认或Intellingent Tiering |
接下来回到ssh中,使用rclone config
即可看到新增的存储策略。由于腾讯云内网和外网使用相同的终结点,在正式使用前请再次确认endpoint
是否解析至内网169.254.0.0/24
段,避免由于DNS问题导致公网访问进而产生计费。如果非官方的系统使用了公共DNS,请将DNS修改为腾讯云VPC使用的183.60.83.19
和183.60.82.98
(官方文档)。
在rclone中,存储桶路径为存储策略:存储桶名称
,即图中的cos:lh-***
。如图,常用的命令包括复制rclone copy
、同步rclone sync
、列出目录rclone ls
和列出文件夹rclone lsd
等,传输命令中均遵循A至B的格式,搭配使用的参数包括显示进度-P
和使用多线程线程--transfers 8
。rclone是非常强大的管理工具,拥有诸多高级场景,可以参考官方文档进行学习(点击前往)。
以debian12为例,挂载功能需调用三方组件fuse3,可通过apt install fuse3 -y
进行安装。博主不是很推荐这种用法,对象存储毕竟不是块存储,IO性能和存储结构与普通文件系统存在很大的差异,文件的交互也是通过拉到本地缓存完成。在挂载的场景下,应尽量将其应用在读写交互较少的存储和备份功能中。
1 2 3 4 5 |
# 创建挂载点及缓存路径 mkdir /mnt/cosfs mkdir /mnt/cosfs-cache # 挂载LHCOS rclone mount cos:/lh-*** /mnt/cosfs --cache-dir /mnt/cosfs-cache --vfs-cache-mode writes |
命令运行后cos即挂载,停止命令则卸载。可通过screen
和nohup
实现后台运行,也可通过systemd写一个进程守护和开机自启。重复以上流程,将LHCOS挂载至多台不同的轻量,即可在不同的轻量实例之间快速共享文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# 编辑service文件 /etc/systemd/system/cosfs.service # 添加内容 [Unit] Description=Rclone Mount CosFS Service After=network.target [Service] Type=simple User=root Restart=on-failure RestartSec=5s ExecStart=/usr/bin/rclone mount cos:/lh-*** /mnt/cosfs --cache-dir /mnt/cosfs-cache --vfs-cache-mode writes [Install] WantedBy=multi-user.target # 管理进程 service cosfs start|stop|status # 允许开机自启 systemctl enable cosfs |
在使用的过程中,博主发现由于LHCOS使用智能的Intellingent Tiering作为默认,不支持常用的Standard等S3层级,会导致一些不支持手动设置层级的三方工具无法使用(比如1Panel)。
四、对外访问
LHCOS不设请求计费,因此通过轻量应用服务器和CVM的内网转发可以实现免费的访问,但是由于LHCOS只能设置为公共读私有写,并不能只针对内网开放访问或设置IP白名单,一旦被公网cc攻击可能会产生巨额流量费用,因此我们需要在对外的反向代理上为安全做一些考虑。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
location / { #闭合访问路径 proxy_pass https://169.254.0.47/test-folder/; proxy_set_header Host lh-***.cos.ap-nanjing.myqcloud.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; proxy_set_header X-Forwarded-Proto $scheme; proxy_ssl_server_name on; proxy_ssl_name lh-***cos.ap-nanjing.myqcloud.com; #隐藏返回路径 sub_filter_types *; sub_filter_once off; sub_filter '/test-folder' ''; } |
访问效果如图,访问链接中的目录test-folder
已被隐藏,在实际使用中可将该文件夹名称设置更为复杂,这样即保证了对外的反向代理与LHCOS原始链接不一致。需要注意的是,如果你需要提供apk
和ipk
文件的直接下载,则需要先绑定自己的域名(官方通知)再进行反代操作。
通过sub_filter
的修改,错误页面也不会暴露隐藏的文件路径,能够最大限度地保证他人无法通过组合通用路径来进行访问,避免来自公网的攻击风险。更高级的NGINX反向代理逻辑可以参考博主之前的博文(点击前往)。
五、Windows
Windows上rclone也是完全可用的,只需要通过rclone config file
找到配置文件即可,挂载命令及使用大同小异。相比之下RaiDrive更为简便,但是免费版本只能作为只读驱动器挂载。在新建驱动器中选择AWS S3 Compatible,密钥及桶的填法如图(不要选择腾讯云)。挂载成功后,会弹出新挂载上的盘符。
此外,腾讯云官方提供的COSBrowser也是可用的(官方下载),该客户端同样支持对LHCOS进行简便的可视化管理,搭配RaiDrive进行管理和挂载是个不错的选择。
六、结语
能够感受到,腾讯云轻量应用服务器的团队一直以来都在力求为用户提供更好的体验。作为腾讯云快10年的老用户,之前免费的50G COS已经作为备份用了很多年,现在又从锐驰型轻量赠送了50G,相比在友商多年来的使用体验满足感要高得多。
4月将至,腾讯云开始陆续对大陆地域符合条件的部分6133
/6148
处理器的轻量实例提供免费CPU升级,另外对200M锐驰型实例的新一代流量模型也发布在即,相信未来的轻量应用服务器的体验会更加顺滑。
*原创文章,转载请注明出处
感觉楼主可以去互联网企业就业试试,你的IT技术已经超越90%大厂员工了
可以设置成私有读写的,https://console.cloud.tencent.com/cos/bucket 到这个页面就可以看到创建的存储桶了,然后点进去可以设置权限为私有读写。在轻量云的那个界面是没有私有读写选项的。