arrow

Build a Local File System with OSS

1. Experiment overview

This experiment is designed to attach an OSS bucket to a local file system through the OSSFS tool, allowing you to remotely manage the resources stored in the OSS bucket without the complex process of calling APIs. This experiment also deploys a WordPress environment in an ECS instance and completes specific configuration to directly synchronize the resources uploaded to WordPress to the OSS bucket.

1.1 Key points

  • ECS simple operation
  • Install and use OSSFS tools
  • OSS Bucket resource management
  • OSS Bucket mount local file system

1.2 Procedure

  • Start the lab environment
  • Log in to the ECS instance remotely
  • Install OSSFS tools application
  • Mount OSS Bucket to ECS local file system
  • OSS Bucket file management

1.3 Cloud resources

  • ECS instance: Ubuntu 16.04.2 LTS
  • Alibaba Cloud OSS console.

1.4 Prerequisites

  • ECS experience
  • Learn about OSS Bucket file management operations
  • The system has automatically assigned a username and password for logging on to the Alibaba Cloud console.
  • The system automatically creates an ECS instance with a Ubuntu environment.
  • The system automatically creates a bucket of the OSS container.

1.5 Hint

  • When you enter the ECS console, the default region area may be different because of the different network addresses of your logon location. If you find that the resource automatically created in the document does not exist at the console interface, please manually switch to the United States - Silicon Valley’s region, you will find them there.

    image desc

  • If you encounter some differences between the real experimental environment and the captured pictures in the lab manual, it may be caused by cloud portal version difference, which does not have a great impact on your experimental experience. You can click comment to give feedback to us. We will update the document in time. Thank you for your cooperation.

2. Experiment instructions

2.1 Login Console

Click Start Lab in the upper right corner of the page to start the experiment.

image desc.

After the experiment environment is successfully started, the system has deployed resources required by this experiment in the background, including the ECS instance, RDS instance, Server Load Balancer instance, and OSS bucket. An account consisting of the username and password for logging on to the Web console of Alibaba Cloud is also provided.

image desc

After the experiment environment is started and related resources are properly deployed, the experiment starts a countdown. You have two hours to perform experimental operations. After the countdown ends, the experiment stops, and related resources are released. During the experiment, pay attention to the remaining time and arrange your time wisely. Next, use the username and password provided by the system to log on to the Web console of Alibaba Cloud and view related resources:

openCole

Go to the logon page of Alibaba Cloud console.

image desc

Fill in the sub-user account and click Next.

image desc

Fill in the sub-user password and click Log on.

image desc

After you successfully log on to the console, the following page is displayed.

image desc

2.2 Shared Upload Folder

Alibaba Cloud Object Storage Service (OSS) is a massive, secure, cost-effective, and highly reliable cloud storage service from Alibaba Cloud. OSS has RESTful APIs that are independent from the platform and support 99.99999999% service persistence.

You can use the APIs or SDKs provided by Alibaba Cloud or the OSS migration tools to move massive data into or out of Alibaba Cloud OSS.

Managing the files stored in OSS instances through APIs or SDKs is complex and requires code compiling.

To simplify the management of resources stored in OSS instances, you can attach Alibaba Cloud OSS buckets to the local file system if you are using a Linux or Mac OS X operating system. Then, you can operate the objects in the OSS buckets through the local file system just like operating the resources in a local disk. You can also share data. This simplifies the process of operating OSS instances.

View an ECS instance

image desc

image desc

Enter the EIP of an ECS instance in the web browser:

image desc

The WordPress installation page appears. By default, the ECS instance is created using the system image of WordPress. This is equivalent to having installed a WordPress environment in the system. Perform subsequent operations later.

View an OSS bucket:

image desc

image desc

A default bucket has been created. Currently, the bucket is empty without any resources.

2.3 Connect to the ECS instance remotely

You can remotely connect to the ECS instance with the SSH protocol.

SSH is a network protocol for encrypted logon from one computer to another.

If you are using a <font size=4>Windows</font> computer, please download the SSH tool putty

image desc

If you are using <font size=4>Linux</font> or <font size=4>Mac OS</font>, you can open the client application on your local computer and run the following command to log on to the ECS instance with the default account:

ssh root@(Elastic IP address of the instance)

The default account name and password of the ECS instance:
Account name: root
Password: nkYHG890..

If you need to see the detailed login method, you can open the login link for further viewing.

After the ECS instance is connected, run the following command to install OSSFS, an application with an OSS instance attached.

apt-get update
apt-get install gdebi-core

Download the OSSFS installation package of the latest version:

wget https://github.com/aliyun/ossfs/releases/download/v1.80.3/ossfs_1.80.3_ubuntu14.04_amd64.deb

Install OSSFS:

gdebi ossfs_1.80.3_ubuntu14.04_amd64.deb

2.4 Create an AccessKey

Refer back to the user’s home directory as shown below, click AccessKey Management.

image desc

Click Create AccessKey. After AccessKey has been created successfully, AccessKeyID and AccessKeySecret are displayed. AccessKeySecret is only displayed once. Click Save AccessKey Information to save the AccessKeySecret

image desc

2.5 Attach the OSS bucket to the local file system

Return to the terminal interface.

Set the bucket name, AccessKey, and AccessID, save the settings to the /etc/passwd-ossfs file, and set the file permission correctly:

echo your-bucket-name:your-access-key-id:your-access-key-secret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs

image desc

Go to the website root directory of WordPress and the directory that stores the main content in sequence:

cd /data/wwwroot/default/
ll
cd wp-content
ls -a

image desc

The wp-content directory contains the uploads subdirectory that stores the files uploaded to WordPress. After you attach the OSS bucket to the subdirectory, the files uploaded to WordPress are synchronized to the OSS bucket.

Attach the OSS bucket to the local file system:

ossfs your-bucket-name /data/wwwroot/default/wp-content/uploads -ourl=http://oss-us-west-1.aliyuncs.com

2.7 Manage the resources in the OSS bucket

Go to /data/wwwroot/default/wp-content/uploads to create a test file:

cd /data/wwwroot/default/wp-content/uploads
touch oss-test.txt
ll

image desc

Return to the OSS console and refresh the current page. View the change in the number of files:

image desc

image desc

In the ECS instance, the files in the/data/wwwroot/default/wp-content/uploads directory are synchronized to the OSS bucket.

Delete the oss-test.txt file from the OSS bucket and check whether the file still exists in the /data/wwwroot/default/wp-content/uploads directory:

image desc

Check /data/wwwroot/default/wp-content/uploads:

ls -a

image desc

After the file is deleted from the OSS bucket, the same file is also deleted from the /data/wwwroot/default/wp-content/uploads directory in the ECS instance.

Data synchronization is enabled after the OSS bucket is attached to the local file system of the ECS instance. You can manage the files in the OSS bucket just like operating local files.

2.8 Synchronize the resources uploaded to WordPress to the OSS bucket

This section describes how to implement the function of synchronizing the files uploaded to WordPress to the OSS bucket Configuration is required to assign required permissions.

Detach the OSS bucket, complete the required modification, and attach the OSS bucket again:

Detach the OSS bucket:

cd /data/wwwroot/default/wp-content
umount /data/wwwroot/default/wp-content/uploads

Change the passwd-ossfs file owner:

chown www /etc/passwd-ossfs

Attach the OSS bucket again:

sudo -u www ossfs your-bucket-name /data/wwwroot/default/wp-content/uploads -ourl=http://oss-us-west-1.aliyuncs.com

Continue to install WordPress:

image desc

image desc

image desc

Log on to the WordPress site background:

image desc

Create a media file:

image desc

Upload the file:

image desc

image desc

After the file is uploaded to the WordPress background, go to the OSS console to check whether the file exists:

image desc

The current bucket has files. View the file details:

image desc

The image file uploaded to WordPress is stored in the OSS bucket. (Images with different resolutions)

Reminder:
Before you leave this lab, remember to log out your Alibaba RAM account before you click the ‘stop’ button of your lab. Otherwise you’ll encounter some issue when opening a new lab session in the same browser:

image desc image desc

3. Experiment conclusion

This experiment implements two functions. The first is attaching an OSS bucket to the local file system through the OSSFS tool, allowing you to manage the resources stored in the OSS bucket without the complex process of calling APIs. The second is attaching an OSS bucket to the local file system through configuration to enable data synchronization, allowing you to synchronize the files uploaded to WordPress to the OSS bucket.