云服务器内容精选

  • 操作场景 为每个云应用用户(组)自动创建云上持久化存储空间,保存用户的文件,用户可通过界面访问目录下的文件,并支持上传下载文件、新建文件夹和子目录、删除文件和目录等操作。 存储目前不支持 IAM 5.0授权,需要用户授权添加IAM3.0才能正常使用。 IAM5.0授权:管理控制台console地址为https://console.xxxxxx.com/iam5当用户授权使用存储权限,会提示“权限不足”,无法正常使用存储功能。 IAM3.0授权:管理控制台console地址为https://console.xxxxxx.com/iam当用户授权使用存储权限,可以正常使用存储功能。
  • 操作场景 本章节指导用户挂载已有数据的系统盘。 系统盘目前支持离线挂载,即云服务器处于“关机”状态,才可以挂载系统盘。 您可以在磁盘列表中查看磁盘属性,只有当磁盘属性为“启动盘”,并且磁盘状态为“可用”时,磁盘才支持挂载至云服务器用作系统盘。 卸载后的系统盘即为启动盘,根据您选择的挂载点不同,启动盘可以重新挂载给云服务器用作系统盘或者数据盘。 随包年/包月弹性云服务器一同购买或追加购买的包年/包月的非共享云硬盘,和原弹性云服务器有绑定关系,无法挂载至其他弹性云服务器。
  • 操作场景 当由于系统盘文件系统损坏等原因导致云服务器无法启动时,您可以卸载该系统盘并将其挂载至其他云服务器作为数据盘,待该磁盘被修复后,再挂载至原云服务器作为系统盘。 当您不再使用系统盘或需要更换一个新的系统盘时,您需要先卸载已挂载的系统盘。 系统盘卸载后,不会自动删除,因此仍会持续计费,如您不再需要该系统盘,请及时删除或退订。 系统盘目前支持离线卸载,即在挂载该磁盘的云服务器处于“关机”状态,才可以卸载磁盘。因此,运行状态的云服务器需要先关机然后再卸载相应的系统盘。 挂载至云服务器的系统盘,磁盘属性为“系统盘”,磁盘状态为“正在使用”。当系统盘从云服务器上卸载后,此时系统盘的磁盘属性变为“启动盘”,磁盘状态变为“可用”。 卸载后的系统盘即为启动盘,根据您选择的挂载点不同,启动盘可以重新挂载给云服务器用作系统盘或者数据盘。
  • 如何使用VBD和S CS I共享磁盘? 您可以创建VBD类型的共享磁盘和SCSI类型的共享磁盘。建议将共享磁盘挂载至位于同一个反亲和性云服务器组内的ECS,以提高业务可靠。 VBD类型的共享磁盘:创建的共享磁盘默认为VBD类型,该类型磁盘可提供虚拟块存储设备,不支持SCSI锁。当您部署的应用需要使用SCSI锁时,则需要创建SCSI类型的共享磁盘。 SCSI类型的共享磁盘:SCSI类型的共享磁盘支持SCSI锁。 为了提升数据的安全性,建议您结合云服务器组的反亲和性一同使用SCSI锁,即将SCSI类型的共享磁盘挂载给同一个反亲和性云服务器组内的ECS。 如果ECS不属于任何一个反亲和性云服务器组,则不建议您为该ECS挂载SCSI类型的共享磁盘,否则SCSI锁无法正常使用并且则会导致您的数据存在风险。 反亲和性和SCSI锁的相关概念: 云服务器组的反亲和性:ECS在创建时,将会分散地创建在不同的物理主机上,从而提高业务的可靠性。 关于云服务器组,更多详情请参见管理云服务器组。 SCSI锁的实现机制:通过SCSI Reservation命令来进行SCSI锁的操作。如果一台ECS给磁盘传输了一条SCSI Reservation命令,则这个磁盘对于其他ECS就处于锁定状态,避免了多台ECS同时对磁盘执行读写操作而导致的数据损坏。 云服务器组和SCSI锁的关系:同一个磁盘的SCSI锁无法区分单个物理主机上的多台ECS,因此只有当ECS位于不同物理主机上时才可以支持SCSI锁,因此建议您结合云服务器组的反亲和性一起使用SCSI锁命令。
  • 操作场景 当您需要将数据盘挂载至同一区域、同一可用区的其他云服务器上,您可以先从已挂载的云服务器上卸载该数据盘,然后再将其挂载至其他云服务器上。 当您不再使用数据盘时,您可以先卸载该数据盘,然后再删除数据盘。 卸载数据盘时,支持离线或者在线卸载,即可在挂载该数据盘的云服务器处于“关机”或“运行中”状态进行卸载。 弹性云服务器 在线卸载磁盘,详细信息请参见在线卸载磁盘。 裸金属服务器 当前支持将SCSI类型磁盘挂载至裸金属服务器用作数据盘,数据盘可在裸金属服务器处于“关机”或“运行中”状态进行卸载。 挂载至云服务器的数据盘,磁盘属性为“数据盘”,磁盘状态为“正在使用”。当数据盘从云服务器上卸载后,此时数据盘的磁盘属性仍为“数据盘”,非共享盘的磁盘状态变为“可用”,共享盘只有从所有云服务器上卸载后,磁盘状态才会变为“可用”。
  • 替换原有分区 本操作以该场景为例,云服务器上已挂载两块磁盘,磁盘“/dev/xvdc”有1个分区,其中分区“/dev/xvdc1”已挂载至“/mnt/sdc”目录下,现在需要替换原有分区“/dev/xvdc1”,由于只有一个分区,因此该分区也算作末尾分区。将新增容量加到该分区内,此时需要中断业务。 扩容后的新增空间是添加在磁盘末尾的,对具有多个分区的磁盘扩容时,只支持替换排在末尾的分区。 执行以下命令,查看磁盘的分区信息。 lsblk 回显类似如下信息: [root@ecs-1120 sdc]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part / └─xvda2 202:2 0 40G 0 part /opt xvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 part xvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 10G 0 part /mnt/sdc 表示当前数据盘“/dev/xvdc”总容量为60 GB,已分配分区的容量为10 GB,其中末尾分区为“/dev/xvdc1”,为已挂载至“/mnt/sdc”目录下。 查看回显中磁盘“/dev/xvdc”的容量,扩容的容量是否已经包含在容量总和中。 若扩容的容量未在磁盘容量总和中,请参考Linux SCSI数据盘扩容后处理(fdisk)章节刷新系统内容量。 若扩容的容量已在磁盘容量总和中,请执行2。 执行以下命令,卸载磁盘分区。 umount /mnt/sdc 执行以下命令,查看“/dev/xvdc”分区的卸载结果。 lsblk 回显类似如下信息: [root@ecs-1120 linux]# umount /mnt/sdc [root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part / └─xvda2 202:2 0 40G 0 part /opt xvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 part xvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 10G 0 part 执行以下命令,进入parted分区工具,开始对数据盘的新扩容空间分配分区。 parted 数据盘 以“/dev/xvdc”为例: parted /dev/xvdc 回显类似如下信息: [root@ecs-1120 linux]# parted /dev/xvdc GNU Parted 3.1 Using /dev/xvdc Welcome to GNU Parted! Type 'help' to view a list of commands. 输入“unit s”,按“Enter”,设置磁盘的计量单位为磁柱。 以新增一个主分区为例,输入“p”,按“Enter”。 回显类似如下信息: (parted) mkpart Partition type? primary/extended? p File system type? [ext2]? ext4 Start? 83886080 End? 1677722159 删除待替换的末尾分区“/dev/xvdc1”,分区编号为“1”,输入“rm 1”,按“Enter”。 输入“p”,按“Enter”,查看当前“/dev/xvdc1”分区是否删除成功。 回显类似如下信息: (parted) rm 1 (parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvdc: 125829120s Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 重新进行分区,输入“mkpart opt 2048s 125829119”,按“Enter”。 “2048”为6中记录的初始磁柱值,“125829119”表示截止磁柱值,应该大于等于6中记录的截止磁柱值。 回显类似如下信息: (parted) mkpart opt 2048s 125829119s Warning: You requested a partition from 2048s to 125829199s (sectors 2048..125829199). The closest location we can manage is 2048s to 125829036s (sectors 2048..125829036). Is this still acceptable to you? Yes/No? Yes 根据系统提示输入“Yes”,设置截止磁柱值。 若出现以下性能优化提示,请输入“Ignore”,忽视即可。如果已经是最佳性能,则不会出现该提示,本操作中性能最佳的初始磁柱值即为2048s,因此系统没有该提示。 Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? Ignore 以下操作会导致数据丢失: 选择的初始磁柱值与原分区的不一致。 选择的截止磁柱值小于原分区的值。 输入“p”,按“Enter”,查看当前“/dev/xvdc1”分区是否替换成功。 回显类似如下信息: (parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvdb: 125829120s Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 2048s 125829086s 125827039s ext4 opt 表示“/dev/xvdc1”分区替换成功。 输入“q”,按“Enter”,退出parted分区工具。 根据磁盘的文件系统,分别执行以下操作。 若磁盘文件系统为ext3或ext4,请执行以下步骤。 执行以下命令,检查“/dev/xvdc1”文件系统的正确性。 e2fsck -f /dev/xvdc1 回显类似如下信息: [root@ecs-1120 linux]# e2fsck -f /dev/xvdc1 e2fsck 1.42.9 (28-Dec-2013) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/xvdc1: 11/655360 files (0.0% non-contiguous), 83137/2620928 blocks 执行以下命令,扩展“/dev/xvdc1”文件系统的大小。 resize2fs /dev/xvdc1 回显类似如下信息: [root@ecs-1120 linux]# resize2fs /dev/xvdc1 resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/xvdc1 to 15728379 (4k) blocks. The filesystem on /dev/xvdc1 is now 15728379 blocks long. 执行以下命令,查看替换分区后数据盘的情况。 lsblk 回显类似如下信息: [root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part / └─xvda2 202:2 0 40G 0 part /opt xvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 part xvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 60G 0 part 表示当前“/dev/xvdc”总容量为60 GB,新增的50GB已经划分在“/dev/xvdc1”分区内。 执行以下命令,将新建分区挂载到“/mnt/sdc”目录下。 mount /dev/xvdc1 /mnt/sdc 若磁盘文件系统为xfs,请执行以下步骤。 执行以下命令,将新建分区挂载到“/mnt/sdc”目录下。 mount /dev/xvdc1 /mnt/sdc 执行以下命令,扩展“/dev/xvdc1”文件系统的大小。 sudo xfs_growfs /dev/xvdc1 执行以下命令,查看替换分区后数据盘的情况。 lsblk 回显类似如下信息: [root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part / └─xvda2 202:2 0 40G 0 part /opt xvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 part xvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 60G 0 part 表示当前“/dev/xvdc”总容量为60 GB,新增的50GB已经划分在“/dev/xvdc1”分区内。 行以下命令,查看“/dev/xvdc1”分区挂载结果。 df -TH 回显类似如下信息: [root@ecs-1120 linux]# mount /dev/xvdc1 /mnt/sdc [root@ecs-1120 linux]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/xvda1 ext4 43G 8.3G 33G 21% / devtmpfs devtmpfs 885M 0 885M 0% /dev tmpfs tmpfs 894M 0 894M 0% /dev/shm tmpfs tmpfs 894M 18M 877M 2% /run tmpfs tmpfs 894M 0 894M 0% /sys/fs/cgroup tmpfs tmpfs 179M 0 179M 0% /run/user/2000 tmpfs tmpfs 179M 0 179M 0% /run/user/0 tmpfs tmpfs 179M 0 179M 0% /run/user/1001 /dev/xvda2 ext4 43G 51M 40G 1% /opt /dev/xvdc1 ext4 64G 55M 60G 1% /mnt/sdc 表示“/dev/xvdc1”已挂载至“/mnt/sdc”目录下。
  • 设置开机自动挂载磁盘 如果您需要在云服务器系统启动时自动挂载磁盘,不能采用在 /etc/fstab直接指定 /dev/xvdb1的方法,因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变,例如/dev/xvdb1可能会变成/dev/xvdb2。推荐使用UUID来配置自动挂载数据盘。 磁盘的UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。 执行如下命令,查询磁盘分区的UUID。 blkid 磁盘分区 以查询磁盘分区“/dev/xvdb1”的UUID为例: blkid /dev/xvdb1 回显类似如下信息: [root@ecs-b656 test]# blkid /dev/xvdb1 /dev/xvdb1: UUID="1851e23f-1c57-40ab-86bb-5fc5fc606ffa" TYPE="ext4" 表示“/dev/xvdb1”的UUID。 执行以下命令,使用VI编辑器打开“fstab”文件。 vi /etc/fstab 按“i”,进入编辑模式。 将光标移至文件末尾,按“Enter”,添加如下内容。 UUID=1851e23f-1c57-40ab-86bb-5fc5fc606ffa /mnt/sdc ext3 defaults 0 2 UUID=1851e23f-1c57-40ab-86bb-5fc5fc606ffa /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”。 保存设置并退出编辑器。
  • 新增分区 本操作以该场景为例,为系统盘扩容后的空间分配一个新的分区,并挂载到“/opt”目录下,此时可以不中断业务。 执行以下命令,查看磁盘的分区信息。 lsblk 回显类似如下信息: [root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk └─xvda1 202:1 0 40G 0 part / xvdb 202:16 0 250G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 50G 0 part xvdc 202:32 0 40G 0 disk ├─xvdc1 202:33 0 8G 0 part └─xvdc2 202:34 0 32G 0 part 表示当前系统盘“dev/xvda”容量为80 GB,当前正在使用的分区“dev/xvda1”为40 GB,新扩容的40 GB还未分配分区。 执行以下命令,进入parted分区工具,开始对系统盘的新扩容空间分配分区。 parted 系统盘 以“/dev/xvda”为例: parted /dev/xvda 回显类似如下信息: [root@ecs-1120 linux]# parted /dev/xvda GNU Parted 3.1 Using /dev/xvda Welcome to GNU Parted! Type 'help' to view a list of commands. 输入“unit s”,按“Enter”,设置磁盘的计量单位为磁柱。 输入“p”,按“Enter”,查看当前磁盘分区形式。 回显类似如下信息: (parted) unit s (parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvda: 167772160s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 2048s 83886079s 83884032s primary ext4 新增分区,输入“mkpart”,按“Enter”。 以新增一个主分区为例,输入“p”,按“Enter”。 回显类似如下信息: (parted) mkpart Partition type? primary/extended? p File system type? [ext2]? ext4 Start? 83886080 End? 1677722159 设置文件系统格式以及新增分区的容量大小。 磁柱“83886080”表示新增分区“dev/xvda2”磁柱初始值,“167772159”表示截止磁柱值,此处仅供参考,您可以根据业务需要自行规划磁盘分区数量及容量。 回显类似如下信息: (parted) mkpart Partition type? primary/extended? p File system type? [ext2]? ext4 Start? 83886080 End? 1677722159 此处为新建分区设置文件系统格式的操作可能无效,请在分区创建完成后参考10重新设置文件系统格式。 获取最大截止磁柱值的方法如下: 通过fdisk -l命令查询磁盘的最大截止磁柱值。 可以输入-1s,即默认为磁盘的最大截止磁柱值。 输入“p”,按“Enter”,查看新建分区。 回显类似如下信息: (parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvda: 167772160s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 2048s 83886079s 83884032s primary ext4 2 83886080s 167772159s 83886080s primary 新增分区“dev/xvda2”创建完成。 输入“q”,按“Enter”,退出parted分区工具。 执行以下命令,设置新建分区文件系统格式。 以“ext4” 文件格式为例: mkfs -t ext4 /dev/xvda2 设置xfs文件系统的操作与ext3或ext4一样,命令为:mkfs -t xfs /dev/xvda2 回显类似如下信息: [[root@ecs-1120 linux]# mkfs -t ext4 /dev/xvda2 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, 10485760 blocks 524288 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 格式化需要等待一段时间,请观察系统运行状态,若回显中进程提示为done,则表示格式化完成。 执行以下命令,将新建分区挂载到需要增加空间的目录下,以“/opt”为例。 mount /dev/xvda6 /opt 回显类似如下信息: [root@ecs-1120 linux]# mount /dev/xvda2 /opt [root@ecs-1120 linux]# 新增加的分区挂载到不为空的目录时,该目录下原本的子目录和文件会被隐藏,所以,新增的分区最好挂载到空目录或者新建目录。如确实要挂载到不为空的目录,可将该目录下的子目录和文件临时移动到其他目录下,新分区挂载成功后,再将子目录和文件移动回来。 执行以下命令,查看挂载结果。 df -TH 回显类似如下信息: [root@ecs-1120 linux]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/xvda1 ext4 43G 8.3G 33G 21% / devtmpfs devtmpfs 885M 0 885M 0% /dev tmpfs tmpfs 894M 0 894M 0% /dev/shm tmpfs tmpfs 894M 18M 877M 2% /run tmpfs tmpfs 894M 0 894M 0% /sys/fs/cgroup tmpfs tmpfs 179M 0 179M 0% /run/user/2000 tmpfs tmpfs 179M 0 179M 0% /run/user/0 tmpfs tmpfs 179M 0 179M 0% /run/user/1001 /dev/xvda2 ext4 43G 51M 40G 1% /opt
  • 操作场景 扩容成功后,对于linux操作系统而言,需要将扩容部分的容量划分至原有分区内,或者为扩容部分的磁盘分配新的分区。 本文以“EulerOS 2.0 64位”操作系统为例,采用parted分区工具为扩容后的磁盘分配分区。 不同操作系统的操作可能不同,本文仅供参考,具体操作步骤和差异请参考对应操作系统的产品文档。 为扩容后的磁盘分配分区,您可以根据业务需要以及实际的磁盘情况选择以下两种扩容方式,具体如下: 不中断业务,新增分区 为扩容后的磁盘增加新的分区,不需要卸载原有分区,相比替换原有分区的方法,对业务影响较小。推荐系统盘或者需要保证业务不中断的磁盘扩容场景使用。 如果当前磁盘使用的是MBR分区形式,则此时要求扩容后的数据盘最大容量为2 TB,并且磁盘的分区数量还未达到上限。 中断业务,替换原有分区 如果当前磁盘使用的是MBR分区形式,并且磁盘的分区数量已经达到上限,则此时需要替换原有分区,替换原有分区不会删除原有分区的数据,但是需要先卸载原有分区,会影响线上业务运行。 如果当前磁盘使用的是MBR分区形式,并且扩容后磁盘容量已经超过2 TB,则超过2 TB的部分容量无法使用。此时若需要使用超过2 TB的部分容量,则必须将MBR分区形式换为GPT,更换磁盘分区形式时会清除磁盘的原有数据,请先对数据进行备份。 扩容时请谨慎操作,误操作可能会导致数据丢失或者异常,建议扩容前对数据进行备份,可以使用CBR功能,请参见管理备份磁盘。
  • 查看分区形式 分区前,需要查看当前磁盘的分区形式,当为MBR时可以选择fdisk或者parted工具,当为GPT时需要使用parted工具。 执行以下命令,查看磁盘情况。 lsblk 回显类似如下信息: [root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 40G 0 disk └─xvda1 202:1 0 40G 0 part / xvdb 202:16 0 150G 0 disk ├─xvdb1 202:17 0 100G 0 part /mnt/sdc └─xvdb2 202:18 0 50G 0 part /mnt/opt xvdc 202:32 0 40G 0 disk ├─xvdc1 202:33 0 8G 0 part └─xvdc2 202:34 0 32G 0 part 执行以下命令,然后输入“p”,查看当前数据盘的分区形式。 parted 磁盘 以查看“/dev/xvdb”的分区形式为例: parted /dev/xvdb 回显类似如下信息: root@ecs-1120 linux]# parted /dev/xvdb GNU Parted 3.1 Using /dev/xvdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvdb: 161GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 17.4kB 107GB 107GB ext4 opt 2 107GB 161GB 53.7GB ext4 opt1 “Partition Table”表示当前磁盘的分区形式,msdos表示磁盘分区形式为MBR,gpt表示磁盘分区形式为GPT。 查看完成后,输入“q”,退出parted模式。 参考2~3,查看其它磁盘的分区形式。
  • 图片处理 开发过程中,您有任何问题可以在github上提交issue,或者在华为云 对象存储服务 论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 OBS为用户提供了稳定、安全、高效、易用、低成本的图片处理服务。当要下载的对象是图片文件时,您可以通过传入图片处理参数对图片文件进行图片剪切、图片缩放、图片水印、格式转换等处理。 更多关于图片处理的内容,参见图片处理特性指南。 以下代码展示了如何使用下载对象接口实现图片处理: // 初始化配置参数 ObsConfig config = new ObsConfig(); config.Endpoint = "https://your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AccessKeyID和SecretAccessKey。 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html string accessKey= Environment.GetEnvironmentVariable("AccessKeyID", EnvironmentVariableTarget.Machine); string secretKey= Environment.GetEnvironmentVariable("SecretAccessKey", EnvironmentVariableTarget.Machine); // 创建ObsClient实例 ObsClient client = new ObsClient(accessKey, secretKey, config); try { GetObjectRequest request = new GetObjectRequest() { BucketName = "bucketname", ObjectKey = "objectname", // 对图片依次进行缩放、旋转 ImageProcess = "image/resize,m_fixed,w_100,h_100/rotate,90", }; GetObjectResponse response = client.GetObject(request); Console.WriteLine("Get object response: {0}", response.StatusCode); } catch (ObsException ex) { Console.WriteLine("ErrorCode: {0}", ex.ErrorCode); Console.WriteLine("ErrorMessage: {0}", ex.ErrorMessage); } 使用GetObjectRequest.ImageProcess指定图片处理参数。 图片处理参数支持级联处理,可对图片文件依次实施多条命令。 父主题: 下载对象
  • 跨域请求被拦截 Access to XMLHttpRequest at 'xxx' from origin 'xxx' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
  • 请求成功但返回结果缺少某些字段 此类错误一般有两种原因: 在桶的CORS配置中ExposeHeader配置不完整,例如未配置ETag(导致上传对象成功后无法获取ETag值)、未配置x-obs-request-id(导致请求完成后无法获取OBS服务端请求ID)等,解决方法:请参考配置桶的CORS章节重新配置桶的CORS; 使用了旧版本的SDK,解决方法:升级到最新版本的SDK,可以从这里下载最新版本。
  • 无法获取上传后的ETag值 使用ObsClient.putObject和ObsClient.uploadPart上传文件成功后返回结果中无ETag值,此类错误一般有两种原因: 桶的CORS配置中ExposeHeader不包含ETag头域,解决方法:按照文档配置桶的CORS为桶配置完整的CORS配置; 桶的CORS配置中ExposeHeader包含ETag头域,但浏览器的返回结果屏蔽了ETag头域(一般发生在低版本的浏览器),解决方法:升级到高版本且完全支持HTML5的浏览器。
  • 场景说明 假定用户开发一个网站系统,test_tbl用于实时用户访问网站的记录,记录数据如下表: 表1 原始数据 timestamp type error_code error_msg op_id op_time 2024-03-26 10:36:00 1 404 Resource Not Found 998756 2024-03-26 11:36:00 2024-03-26 10:35:00 1 404 Resource Not Found 998756 2024-03-26 11:35:00 2024-03-26 10:33:00 1 404 Resource Not Found 998756 2024-03-26 11:33:00 2024-03-27 09:10:00 1 200 ok 998756 2024-03-27 10:10:00 2024-03-25 11:08:00 1 404 Resource Not Found 998756 2024-03-25 12:08:00 2024-03-12 22:35:00 1 404 Resource Not Found 998756 2024-03-12 23:35:00 2024-03-12 20:32:00 1 404 Resource Not Found 998756 2024-03-12 21:32:00 2024-03-21 14:39:00 1 404 Resource Not Found 998756 2024-03-21 15:39:00 2024-03-20 19:35:00 1 404 Resource Not Found 998756 2024-03-20 20:35:00