Category Archives: ECS

Install Nvidia CUDA on Aliyun ECS

1.首先确认硬件存在Nvidia GPU,并且操作系统版本兼容,我们选取的是CentOS 7版本,所以没有问题

lspci | grep -i nvidia

2.安装cuda toolkit
从官网下载,http://developer.nvidia.com/cuda-downloads,下载后选择对应的平台,我选取的是centos7,对应了cuda toolkit为9,这个对后面的driver安装选择有影响,后面会说明。

rpm -i cuda-repo-rhel7-9-0-local-9.0.176-1.x86_64.rpm
yum install cuda

这样安装好了cuda。

3.加入PATH等

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

4.reboot服务器,然后验证一下

[root@emr-worker-1 release]# nvidia-smi -L
GPU 0: Tesla M40 (UUID: GPU-5ac5582f-b7cb-225a-b698-2c1da3cb1646)

至此,安装完成。

基于Aliyun ECS以及Aliyun Oss搭建OwnCloud云存储解决方案

今年3月Aliyun搞活动,正好国外的VPS访问越来越慢,打算把wordpress等迁移回来,于是买了3年的ECS主机,前两天正好OSS搞活动,一年100G存储才9元,于是也买了OSS。这两天正好有时间,于是鼓捣了一下。
先简单介绍一下OSS,引用一下官方介绍:”阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种结构化或非结构化数据文件。”
拿到ECS主机以后,以前的做法可能是部署Apache,Mysql,Wordpress等等,但是现在容器当道,使用Docker将会极大的方便我们的安装、部署与维护,于是此次全部选用Docker来部署相关服务。
1、首先是安装Docker,我ECS选用的镜像CentOs7,安装Docker步骤如下:

yum -y update
yum install docker

2、拉取所需的镜像,选取的是OwnCloud,曾经尝试部署NextCloud,但是NextCloud对于外挂OSS支持有问题放弃。我们可以通过Docker hub来查询需要的Image,OwnCloud的[docker hub地址](https://hub.docker.com/_/owncloud/),同时我们还要拉取mysql的image, mysql的[docker hub地址](https://hub.docker.com/_/mysql/)

docker pull owncloud
docker pull mysql

3、首先启动mysql,给这个container起名字为owncloud-mysql

docker run --name owncloud-mysql -e MYSQL_ROOT_PASSWORD=******* -d mysql

4、挂载OSS,[安装文档](https://help.aliyun.com/document_detail/32196.html?spm=5176.doc32197.6.1032.xSPYNB),所需要注意的是下面步骤,首先owncloud启动的时候使用的用户是www-data,因为需要使用宿主机的外挂的OSS磁盘,所以需要在宿主机上面创建www-data,同时能够使owncloud访问到Oss挂载的路径

useradd -u 1 -G root www-data          
//注释:-u指定www-data的uid号,在下一步时候Oss挂载的时候要用的这个uid号

mkdir /oss      
//注释:创建挂载点

ossfs ****1 /oss -ourl=****2   -ouid=1 -ogid=0 -oumask=007 -o allow_other
//根据文档,第一个参数如****1为bucket name, /oss为挂载点, 注意这里  -ourl后面****2为oss给的内网host,也就是包含internal字段的host,如果使用外网即比较慢又耗费资源消耗。 -ouid为第一步www-data创建的id号,我选取的是1,-ogid为root的groupid号, 这段意思是属主为www-data:root,允许其它用户访问

这样就能挂载了Oss存储。
5、启动owncloud,启动owncloud注意要使用之前启动的mysql docker image同时使用外部挂载的Oss,以及做好端口映射。

docker run -d -p 8080:80 --link owncloud-mysql:mysql -v /oss/owncloud/:/var/www/html owncloud
//注释:使用别的mysql docker,需要制定container名称,在第3部定义好, -v制定了挂载路径, -p制定了端口映射

至此,完全配置完成,打开浏览器,输入ip:8080,进行配置即可了,还需要注意一点的是,至少在我的安装过程中,使用mysql的地址输入127.0.0.1:3306一直连接不上,后来通过docker exec 连接到owncloud的container上面

env|grep MYSQL

后来发现对应的mysql地址为172.17.0.3,当然可能每个container映射的地址不同,在输入这个地址以后,完全配置完成,成功运行。