-
代码样例 默认不使用密钥(access_id/access_key)访问内存池: # 引入模块
import os
from ems import Ems, EmsConfig, EmsException, CcConfig
# 初始化cc配置
cc_config = CcConfig(rank_id=8, device_id=0, model_id="llama2-13b")
# 初始化Ems
config = EmsConfig(cc_config=cc_config)
try:
Ems.init(config)
except EmsException as e:
print(f"exception: {e}.") 多租户场景,指的是同一套推理服务器集群中,仅有一套EMS集群,通过租户隔离不同业务/租户在推理中产生的KVCache数据。需要引入额外的鉴权组件服务,提前申请access_id/access_key后,通过永久访问密钥(access_id/access_key)初始化EMS SDK代码如下: # 引入模块
import os
from ems import Ems, EmsConfig, EmsException
# 通过环境变量获取access_id及access_key
access_id = os.getenv("access_id", None)
access_key = os.getenv("access_key", None)
# 初始化cc配置
cc_config = CcConfig(rank_id=8, device_id=0, model_id="llama2-13b")
# 初始化Ems
config = EmsConfig(access_id=access_id, access_key=access_key, cc_config=cc_config)
try:
Ems.init(config)
except EmsException as e:
print(f"exception: {e}.") 一个进程中只会初始化一次Ems,以及Context Caching对象。 当前默认支持无密钥方式访问EMS内存池,如果需要在多租场景使用密钥,请联系EMS技术支持。
-
构造函数参数描述 参数名称 参数类型 是否必选 描述 config 表1 必选 参数解释: EMS存储SDK初始化配置。 约束限制: 不能为None 默认取值: 无 表1 EmsConfig 参数名称 参数类型 是否必选 描述 access_id string 可选 参数解释: 业务访问内存池身份凭证,由用户自行指定并保证唯一性,在需要进行业务多租隔离场景使用。 约束限制: access_id需要保证全局唯一。 access_id创建规则: 1~512个字符,支持数字、小写字母、“.”、“-”、“_”。 默认取值: None,即为空。 access_key string 可选 参数解释: SDK访问内存池资源的密钥,与身份凭证access_id配合使用。多租场景需要在部署EMS服务时搭建鉴权服务,并通过控制面Restful接口预先申请。 约束限制: access_key创建规则:32~256个字符,支持数字、大小写字母、“+”、“/”、“=”。 默认取值: None,即为空。 cc_config 表2 CcConfig 可选 参数解释: 用于初始化Context Caching的配置。 默认取值: None,表示不使用Context Caching功能。 表2 CcConfig 参数名称 参数类型 是否必选 描述 rank_id int 是 参数解释: 当前计算进程,使用加速卡的全局rank ID。 约束限制: rank ID实例内唯一。 rank_id取值范围:[0,当前实例rank个数) device_id int 是 参数解释: 当前计算进程,使用加速卡的本地节点rank ID。 约束限制: rank ID节点内唯一。 rank ID取值范围:[0,当前实例在本地节点内rank个数) model_id string 是 参数解释: 唯一标识当前实例使用的推理模型。 约束限制: model_id创建规则:1~512个字符,支持数字、小写字母、“.”、“-”、“_”。 需要保证全局唯一。 tp_world_size int 否 参数解释: 实例TP并行度。 约束限制: tp_world_size 取值范围: [1,当前实例rank个数) 默认取值: 1。 pp_world_size int 否 参数解释: 实例PP并行度。 约束限制: pp_world_size 取值范围: [1,当前实例rank个数) 默认取值: 1。 如果初始化参数校验失败或者因与EMS内存池连接失败,可以参考异常处理示例捕获异常,避免阻塞推理服务启动;同时根据异常信息,初步分析原因并联系EMS工程师。
-
设置开机自动挂载磁盘分区 您可以通过配置fstab文件,设置弹性云服务器系统启动时自动挂载磁盘分区。已有数据的弹性云服务器也可以进行设置,该操作不会影响现有数据。 本文介绍如何在fstab文件中使用UUID来设置自动挂载磁盘分区。不建议采用在“/etc/fstab”直接指定设备名(比如/dev/vdb1)的方法,因为云中设备的顺序编码在关闭或者开启弹性云服务器过程中可能发生改变,例如/dev/vdb1可能会变成/dev/vdb2,可能会导致弹性云服务器重启后不能正常运行。 UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。 执行如下命令,查询磁盘分区的UUID。 blkid 磁盘分区 以查询磁盘分区“/dev/vdb1”的UUID为例: blkid /dev/vdb1 回显类似如下信息: [root@ecs-test-0001 ~]# blkid /dev/vdb1
/dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4" 记录下回显中磁盘分区“/dev/vdb1”的UUID,方便后续步骤使用。 执行以下命令,使用VI编辑器打开“fstab”文件。 vi /etc/fstab 按“i”,进入编辑模式。 将光标移至文件末尾,按“Enter”,添加如下内容。 UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2 以上内容仅为示例,具体请以实际情况为准,参数说明如下: 第一列为UUID,此处填写1中查询到的磁盘分区的UUID。 第二列为磁盘分区的挂载目录,可以通过df -TH命令查询。 第三列为磁盘分区的文件系统格式, 可以通过df -TH命令查询。 第四列为磁盘分区的挂载选项,此处通常设置为defaults即可。 第五列为Linux dump备份选项。 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。 1表示使用Linux dump备份。 第六列为fsck选项,即开机时是否使用fsck检查磁盘。 0表示不检验。 挂载点为(/)根目录的分区,此处必须填写1。 根分区设置为1,其他分区只能从2开始,系统会按照数字从小到大依次检查下去。 按“ESC”后,输入“:wq”,按“Enter”。 保存设置并退出编辑器。 执行以下步骤,验证自动挂载功能。 执行如下命令,卸载已挂载的分区。 umount 磁盘分区 命令示例: umount /dev/vdb1 执行如下命令,将“/etc/fstab”文件所有内容重新加载。 mount -a 执行如下命令,查询文件系统挂载信息。 mount | grep 挂载目录 命令示例: mount | grep /mnt/sdc 回显类似如下信息,说明自动挂载功能生效: root@ecs-test-0001 ~]# mount | grep /mnt/sdc
/dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)
-
操作场景 本文以的操作系统为“CentOS 7.4 64位”为例,采用Parted分区工具为数据盘设置分区。 MBR支持的磁盘最大容量为2 TiB,GPT最大支持的磁盘容量为18 EiB,因此当您初始化容量大于2 TiB的磁盘时,分区形式请采用GPT。 fdisk分区工具只适用于MBR分区,parted工具适用于MBR分区和GPT分区。关于磁盘分区形式的更多介绍,请参见场景及磁盘分区形式介绍。 不同的操作系统的格式化操作可能不同,本文仅供参考,具体操作步骤和差异请参考对应的操作系统的产品文档。 首次使用磁盘时,如果您未参考本章节对磁盘执行初始化操作,主要包括创建分区和文件系统等操作,那么当后续扩容磁盘时,新增容量部分的磁盘可能无法正常使用。
-
代码示例 使用永久访问密钥(AK/SK)创建OBS客户端。 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 // 引入依赖包
import ObsClient from '@obs/esdk-obs-harmony';
// 创建ObsClient实例
const obsClient = new ObsClient({
// 推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险
// 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html
AccessKeyId: process.env.AC
CES S_KEY_ID,
SecretAccessKey: process.env.SECRET_ACCESS_KEY,
// 【可选】如果使用临时AK/SK和SecurityToken访问OBS,同样建议您尽量避免使用硬编码,以降低信息泄露风险。您可以通过环境变量获取访问密钥AK/SK,也可以使用其他外部引入方式传入
// SecurityToken: process.env.SECURITY_TOKEN,
// Server填写Bucket对应的Endpoint, 这里以华北-北京四为例,其他地区请按实际情况填写
Server: "https://obs.cn-north-4.myhuaweicloud.com",
// 请求超时时间,以60秒为例
Timeout: 60,
// 是否使用自定义
域名 访问obs
IsCname: false,
});
-
参数描述 表1 ObsClientConfig 参数名称 参数类型 是否必选 描述 AccessKeyId string 可选 参数解释: 访问密钥中的AK。获取方式请参考准备访问密钥。 约束限制: 无 默认取值: 无,表示匿名用户。 SecretAccessKey string 可选 参数解释: 访问密钥中的SK。获取方式请参考准备访问密钥。 约束限制: 无 默认取值: 无,表示匿名用户。 SecurityToken string 可选,使用临时访问密钥时必选。 参数解释: 临时访问密钥中的SecurityToken。 如何获取临时访问密钥和securitytoken请参见临时访问密钥AK/SK获取。 默认取值: 无,表示匿名用户 Server string 必选 参数解释: 连接OBS的服务地址。包含协议类型、域名(或IP)、端口号。示例:https://your-endpoint:443。(出于安全性考虑,建议使用https协议)。 您可以从这里查看OBS当前开通的服务地址。 Timeout number 可选 参数解释: HTTP/HTTPS请求的总超时时间。 说明: 如网络状况不佳或者上传文件较大,建议增大Timeout的值。 约束限制: 无 取值范围: 0~(231-1),单位:秒。 默认取值: 300,单位:秒。 IsCname boolean 可选 参数解释: 是否通过自定义域名访问OBS服务。 约束限制: 无 取值范围: true:使用自定义域名访问OBS服务。 false:不使用自定义域名访问OBS服务。 默认取值: false
-
自定义域名访问介绍与配置 当以自定义域名访问OBS桶时,需要先将该自定义域名同对应OBS桶访问域名进行绑定自定义域名绑定简介,自定义域名绑定配置。 当在自定义域名上配置了
CDN加速 服务,即自定义域名为CDN服务的加速域名时,需要额外对CDN服务进行配置,以保证可以正常使用自定义域名访问OBS服务。 以华为云CDN服务为例,相关配置如下所示: 登录华为云CDN服务,从CDN服务左侧列表中选择域名管理项,在该项中可以查看到所有配置的CDN服务域名信息。 配置源站。单击要使用的自定义域名项,进入域名配置界面,编辑源站配置,选择主源站类型为源站域名类型,对应源站为要访问的OBS桶域名。 配置回源HOST。回源HOST必须指定为加速域名即访问OBS服务时访问的自定义域名,否则可能会出现回源鉴权失败的问题。
-
使用脚本初始化数据盘 登录云服务器。 登录弹性云服务器请参见登录弹性云服务器。 登录裸金属服务器请参见登录裸金属服务器。 查看待初始化的云硬盘的磁盘信息。 lsblk [root@ecs-centos76 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
vdb 253:16 0 100G 0 disk 回显示例表示当前有两块云硬盘,“/dev/vda”是系统盘,“/dev/vdb”是新增数据盘,有100G还未分区。 执行以下命令获取自动初始化磁盘脚本。 wget https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/datadisk/LinuxVMDataDiskAutoInitialize.sh 如果回显异常,请检查云服务器是否绑定弹性公网IP,绑定弹性公网IP后才能获取脚本。 修改自动初始化磁盘脚本权限。 chmod +x LinuxVMDataDiskAutoInitialize.sh 执行初始化脚本自动检测待初始化的数据盘。 ./LinuxVMDataDiskAutoInitialize.sh 脚本将自动检测当前在服务器上除系统盘之外的盘符并显示出来。 输入盘符如/dev/vdb并回车,脚本将自动执行硬盘的创建分区(/dev/vdb1)与格式化。 您可以使用lsblk查看E
CS 挂载的所有盘符情况。 对于有数据的云硬盘,脚本会自动检测出您选择的磁盘已经被挂载并显示出挂载的位置,请根据提示选择是否卸载磁盘。成功卸载磁盘后根据提示选择是否开始格式化磁盘。 对磁盘进行挂载操作,例如输入挂载目录为/data-test,脚本会自动新建该目录进行挂载操作。 脚本将会自动设置为开机自动挂载。 根据图上回显可知,针对/dev/vdb磁盘分区为/dev/vdb1的初始化成功,并且已挂载至/data-test目录下。
-
初始化已使用的磁盘 登录云服务器,执行以下命令获取自动初始化磁盘脚本。 wget https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/datadisk/LinuxVMDataDiskAutoInitialize.sh 修改自动初始化磁盘脚本权限 chmod -x LinuxVMDataDiskAutoInitialize.sh 执行初始化脚本自动检测待初始化的数据盘。 sh LinuxVMDataDiskAutoInitialize.sh 脚本会自动检测出您选择的磁盘已经被挂载并显示出挂载的位置,根据提示选择是否卸载磁盘,输入“y ”为确定卸载,输入“n”则退出脚本。此处选择“y”继续后续的初始化操作。 图1 卸载磁盘 成功卸载磁盘后根据提示选择是否开始格式化磁盘,输入“y”为确定格式化,输入“n”则退出脚本。 图2 开始格式化磁盘 成功格式化磁盘后将会自动执行磁盘的创建分区与格式化,根据提示输入这个磁盘需要挂载的位置,比如/data-test。 图3 输入磁盘挂载路径 等待脚本自动挂载并设置为开机自动挂载后,就完成了磁盘创建分区格式化和挂载磁盘的工作。 图4 完成磁盘分区格式化与磁盘挂载
-
操作场景 本文介绍使用脚本和手动方式初始化Linux系统中的数据盘,不同云服务器的操作系统的初始化操作可能不同,请根据您的实际环境进行操作。 表1 初始化指导 操作指导 操作系统 分区格式 文件系统 初始化工具 配置示例 手动初始化数据盘 不限 GPT MBR ext*(如ext2、ext3、ext4)、xfs、btrfs fdisk parted 说明: 设置分区为GPT格式,请使用parted工具。 初始化工具:fdisk 设备名:/dev/vdb 文件系统:ext4 挂载目录:/mnt/sdc、/mnt/sdd 分区一:/dev/vdb1 容量:40GiB 分区格式:MBR 分区二:/dev/vdb2 容量:60GiB 分区格式:MBR 使用脚本初始化数据盘 CentOS MBR ext4 不涉及 设备名:/dev/vdb 分区名:/dev/vdb1 挂载目录:/data-test
-
手动初始化数据盘 MBR分区个数最多支持4个主分区或最多3个主分区+1个扩展分区,在扩展分区中创建任意多个逻辑分区。 例如:您需要划分4个分区,可以使用4个主分区,或者1个主分区+1个扩展分区(3个逻辑分区),或者2个主分区+1个扩展分区(2个逻辑分区),或者3个主分区+1个扩展分区(1个逻辑分区)。 示例说明:使用fdisk工具,针对“/dev/vdb”数据盘划分2个分区,分别为40GiB(/dev/vdb1)、60GiB(/dev/vdb2),分区默认设置为MBR。如果您需要将分区格式设置为GPT,操作指导参见初始化Linux数据盘(容量大于2TiB) 登录云服务器。 登录弹性云服务器请参见登录弹性云服务器。 登录裸金属服务器请参见登录裸金属服务器。 针对数据盘“/dev/vdb”划分2个主分区/dev/vdb1、/dev/vdb2。 查看/dev/vdb数据盘容量为100GiB。 lsblk [root@ecs-centos76 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
vdb 253:16 0 100G 0 disk 表示当前有两块云硬盘,“/dev/vda”是系统盘,“/dev/vdb”是新增数据盘,有100G还未分区。 依次执行以下命令开始新建第一个主分区/dev/vdb1,请将/dev/vdb1替换成您的目标分区名称。 fdisk /dev/vdb n p 1 [root@ecs-test-0001 ~]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x38717fc1.
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1 “Partition type”:“p”表示主分区,“e”表示扩展分区。 “Partition number”:分区编号,可以选择1-4。 针对第一个分区/dev/vdb1(40 GiB)设置起始磁柱值(2048)和截止磁柱值(83886079)。 First sector (2048-209715199, default 2048): 2048
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):83886079
Partition 1 of type Linux and of size 40 GB is set 表2 起始磁柱值和截止磁柱值计算方法 磁柱 /dev/vdb1(40GiB) /dev/vdb2(60GiB) sectors值计算公式 起始磁柱值 2048(此处使用数据盘/dev/vdb的起始磁柱) /dev/vdb1的截止磁柱值 + 1 = 83886079+1 = 83886080 sectors值 =容量*1073741824/512 截止磁柱值 sectors值-1 =(40 * 1073741824 / 512 )-1 =83886079 起始磁柱值 + sectors - 1 = 83886080+(60 * 1073741824 / 512 ) -1 = 209715199 依次执行以下命令开始新建第二个主分区/dev/vdb2,请将/dev/vdb2替换成您的目标分区名称。 n p 2 Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 2): 2 针对第2个分区/dev/vdb2设置起始磁柱值(83886080)和截止磁柱值(209715199)。 First sector (83886080-209715199, default 83886080): 83886080
Last sector, +sectors or +size{K,M,G} (83886080-209715199, default 209715199):209715199
Partition 2 of type Linux and of size 60 GB is set 查看新建分区大小、分区格式信息。 p Command (m for help): p
Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x994727e5
Device Boot Start End Blocks Id System
/dev/vdb1 2048 83886079 41942016 83 Linux
/dev/vdb2 83886080 209715199 62914560 83 Linux
Command (m for help): Disk label type: dos表示分区格式为MBR。 如果之前分区操作有误,请输入“q”,按“Enter”,则会退出fdisk分区工具,之前的分区结果将不会被保留。此时,重新执行创建分区步骤1和步骤2即可。 确认完成后,将分区结果写入分区表中。 w Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks. 表示分区创建完成。 如果出现报错“-bash: partprobe: command not found”,则说明系统不识别该命令,需要执行“yum install -y parted”命令来安装该命令。安装成功后再执行上述命令。 执行以下命令,将新的分区表变更同步至操作系统。 partprobe 分别对分区/dev/vdb1(40GiB)和/dev/vdb2(60GiB)创建ext4文件系统。 mkfs -t ext4 /dev/vdb1 mkfs -t ext4 /dev/vdb2 创建文件系统格式需要等待一段时间,请确保看到如下回显后,再退出。 [root@ecs-test-0001 ~]# mkfs -t ext4 /dev/vdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
2621440 inodes, 10485504 blocks
524275 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2157969408
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 执行以下命令确认文件系统类型是否是ext4 blkid [root@ecs-test-0001 ~]# blkid /dev/vdb
/dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"
/dev/vdb2: UUID="0d6769k2-1745-9dsf-453d-hgd0b34267dj" TYPE="ext4" 新建目录,并将新建分区挂载至新建目录。 挂载/dev/vdb1到/mnt/sdc mkdir -p /mnt/sdc mount /dev/vdb1 /mnt/sdc 挂载/dev/vdb2到/mnt/sdd mkdir -p /mnt/sdd mount /dev/vdb2 /mnt/sdd 查看挂载结果 lsblk [root@ecs-test-0001 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
├vda1 253:1 0 40G 0 part /
vdb 253:16 0 100G 0 disk
├vdb1 253:17 0 40G 0 part /mnt/sdc
├vdb2 253:18 0 60G 0 part /mnt/sdd 表示新建分区“/dev/vdb1”和“/dev/vdb2”已分别挂载至“/mnt/sdc”、“/mnt/sdd”。 使用磁盘分区的UUID来设置开机自动挂载磁盘分区。 重启后,挂载会失效,因此需要设置开机自动挂载磁盘分区,即在/etc/fstab文件中添加新建磁盘分区信息,启动开机自动挂载磁盘分区。 不建议采用在“/etc/fstab”文件中直接指定设备名(比如/dev/vdb1)的方法,因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变(例如:/dev/vdb1可能会变成/dev/vdb2),可能会导致云服务器重启后不能正常运行。 UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。 该操作不会影响弹性云服务器中的现有数据。 查询磁盘分区的UUID。 blkid /dev/vdb1 blkid /dev/vdb2 [root@ecs-test-0001 ~]# blkid /dev/vdb
/dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"
/dev/vdb2: UUID="0d6769k2-1745-9dsf-453d-hgd0b34267dj" TYPE="ext4" 记录磁盘分区“/dev/vdb1”和“/dev/vdb2”的UUID:0b3040e2-1367-4abb-841d-ddb0b92693df、0d6769k2-1745-9dsf-453d-hgd0b34267dj。 设置开机自动挂载磁盘分区 vi /etc/fstab 按“i”,进入编辑模式,将光标移至文件末尾,按“Enter”,添加下行内容: UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2
UUID=0d6769k2-1745-9dsf-453d-hgd0b34267dj /mnt/sdd ext4 defaults 0 2 按“ESC”后,输入“:wq”,按“Enter”,保存设置并退出编辑器。 表3 参数说明 参数示例 说明 UUID=0b3040e2-1367-4abb-841d-ddb0b92693df 磁盘分区的UUID /mnt/sdc 磁盘分区的挂载目录 ext4 磁盘分区的文件系统格式 defaults 磁盘分区的挂载选项,此处通常设置为defaults即可 0 Linux dump备份选项。 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。 1表示使用Linux dump备份。 2 fsck选项,即开机时是否使用fsck检查磁盘。 2表示从挂载点为非根目录(/)的分区开始检验。 1表示从挂载点为根目录(/)的分区开始检验。 0表示不检验。 验证自动挂载功能已生效。 卸载已挂载的分区。 umount /dev/vdb1 umount /dev/vdb2 将“/etc/fstab”文件所有内容重新加载。 mount -a 则系统会将“/etc/fstab”文件所有内容重新加载。 查询文件系统挂载信息。 mount | grep /mnt/sdc mount | grep /mnt/sdd 回显类似如下信息,说明自动挂载功能生效。 root@ecs-test-0001 ~]# mount | grep /mnt/sdc
/dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)
root@ecs-test-0001 ~]# mount | grep /mnt/sdd
/dev/vdb2 on /mnt/sdd type ext4 (rw,relatime,data=ordered)
-
操作步骤 登录手机app,选择“终端助手”并进入。 在终端助手页面,搜索附近设备。 手机和设备的蓝牙均需要保持为打开状态。 在已发现的设备中,选择设备进行绑定。 绑定后,点击进入设备详情。 如果做了相关操作,需要主动刷新设备信息,点击刷新设备。 表1 表2 设备详情说明 字段 说明 连接状态 “已连接”或“已断开” 设备信息 设备的基本信息 设备管理 安装应用 点击可以选择手机上的设备在设备上进行应用安装,安装成功后,设备会重启 连接WIFI 点击输入WIFI名称和WIFI密码,用于设备连接WIFI 说明: 点击右上方的刷新按钮查看设备下的Wifi信息 若WIFI名称或密码输入错误,连接WIFI页面无法显示是否错误,点击确定后在设备详情页查看设备信息下的WIFI信息。 更新漫游阈值 点击可以修改漫游阈值大小。 企业地址设置 点击可以设置企业域名地址 设备登录 显示设备是否为登录状态,点击可以进行设备登录或设备退出操作 主屏应用设置 点击可设置切换主屏应用 重启应用 点击可以重启应用 日志上传 点击可以进行日志上传 断开设备 点击断开设备连接
-
配置密钥 开发过程中,您有任何问题可以在github上提交issue,或者在华为云
对象存储服务 论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 要接入OBS服务,您需要拥有一组有效的访问密钥(AK和SK)用来进行签名认证。具体可参考OBS服务环境搭建。 获取AK和SK之后,您便可以按照以下步骤进行初始化。 具体可参考OBS服务环境搭建。 获取AK和SK之后,您便可以按照以下步骤进行初始化。 创建OBS客户端 配置OBS客户端 配置SDK日志 父主题: 初始化
-
配置option(C SDK) 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。 在调用C SDK的功能函数时,都要传入obs_options参数,您可通过init_obs_options函数初始化obs_options配置,通过obs_options设置AK、SK、Endpoint、bucket、超时时间、临时鉴权。obs_options主要包括obs_bucket_context和obs_http_request_option两个结构,可以设置的参数见下表: 表1 obs_options.obs_bucket_context参数 参数 描述 默认值 建议值 host_name 请求使用的主机名,是指存放资源的服务器的域名,就是终端节点endpoint。 NULL - bucket_name 操作的桶名。 NULL - protocol 请求使用的协议类型: http、https。(出于安全性考虑,建议使用https协议) HTTPS协议:OBS_PROTOCOL_HTTPS OBS_PROTOCOL_HTTPS access_key 连接对象存储服务的AK NULL - secret_access_key 鉴权使用的SK,可用于字符串的签名。 NULL - obs_storage_class 在PUT,POST请求中,需要配置存储类别时设置此参数。 标准存储:OBS_STORAGE_CLASS_STANDARD 默认值 token 临时访问密钥的SecurityToken。 NULL - bucket_type 创桶时,指定是对象桶还是并行文件系统 对象桶:OBS_BUCKET_OBJECT - bucket_list_type 列举桶时,确定列举桶的类型:所有桶、对象桶、并行文件系统 所有桶:OBS_BUCKET_LIST_ALL - 表2 obs_options.obs_http_request_option参数 参数 描述 默认值 建议值 connect_time 建立HTTP/HTTPS连接的超时时间(单位:毫秒)。默认为60000毫秒。 60000 [10000, 60000] max_connected_time 请求超时时间(单位:秒)。0代表永远不会断开连接。 0 0 proxy_auth 代理认证信息,格式username:password NULL - proxy_host 代理服务器 NULL - 如网络状况不佳,建议增大connect_time和max_connected_time的值。 父主题: 初始化(C SDK)
-
配置OBS客户端(Node.js SDK) 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。 您可通过初始化参数对ObsClient进行配置,可以配置的参数见下表: 参数 描述 建议值 access_key_id 访问密钥中的AK。 N/A secret_access_key 访问密钥中的SK。 N/A server 连接OBS的服务地址。可包含协议类型、域名、端口号。示例:https://your-endpoint:443。(出于安全性考虑,建议使用https协议) N/A max_retry_count HTTP/HTTPS连接异常时的请求重试次数。默认为3次。 [1,5] timeout HTTP/HTTPS请求超时时间(单位:秒)。默认为60秒。 [10, 60] http_agent 配置使用http代理,可选项。默认不配置 N/A https_agent 配置使用https代理,可选项。默认不配置 N/A ssl_verify 验证服务端证书参数。可能的取值: 服务端pem格式根证书文件路径; true:使用默认的CAs验证服务端证书; false:表示不验证服务端证书。 默认为false。 N/A long_conn_param 长连接模式参数(单位:秒)。当该参数大于等于0时,开启长连接模式,并将该参数作为TCP Keep-Alive数据包的初始延迟。 默认为空,代表关闭长连接模式。 N/A is_cname 是否通过自定义域名访问OBS服务。默认为false。 N/A 建议值为N/A的表示需要根据实际情况进行设置。 如网络状况不佳,建议增大timeout的值。 如果设置的server不带协议类型,则默认使用HTTPS协议。 如果启用了长连接模式,使用完OBS客户端后必须调用ObsClient.close方法显式关闭,回收连接资源。 出于DNS解析性能和OBS服务可靠性的考虑,不允许将server设置为IP,必须使用域名访问OBS服务。 配置SDK代理请参见配置SDK代理(Node.js SDK)。 父主题: 初始化(Node.js SDK)