OpenStack:Swift组件的运维(mitaka版本)
目录
基础准备
检查现有磁盘
[root@controller ~]# fdisk -l
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 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: 0xca98b9ab Device Boot Start End Blocks Id System /dev/sdb1 2048 20973567 10485760 83 Linux /dev/sdb2 20973568 25167871 2097152 83 Linux Disk /dev/sda: 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: 0x00070c58 Device Boot Start End Blocks Id System /dev/sda1 2048 195348479 97673216 8e Linux LVM
</nowiki>
硬盘分区
下面这块硬盘进行分区 ,记录分区的名字
[root@controller ~]# fdisk /dev/sdb
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 0x157e7f05. 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 3): 3 First sector (2048-41943039, default 2048): 2048 Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +2G Partition 1 of type Linux and of size 10 GiB is set Command (m for help): W The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
查看新的硬盘分区:/dev/sdb3
[root@controller ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk └─sda1 8:1 0 93.2G 0 part ├─centos-root 253:0 0 55.9G 0 lvm / ├─centos-swap 253:1 0 18.6G 0 lvm [SWAP] └─centos-home 253:2 0 18.6G 0 lvm /home sdb 8:16 0 20G 0 disk ├─sdb1 8:17 0 10G 0 part │ ├─cinder--volumes-volume--39aa5d70--6185--40b9--bac0--847d6f9fc016 253:3 0 1G 0 lvm │ ├─cinder--volumes-volume--8fbd9360--ff27--47c0--afd1--db129f323206 253:4 0 1G 0 lvm │ └─cinder--volumes-volume--5ddf7d53--9664--42b0--8fb1--f0028b6b6d05 253:5 0 2G 0 lvm ├─sdb2 8:18 0 2G 0 part └─sdb3 8:19 0 2G 0 part sr0 11:0 1 1024M 0 rom sr1 11:1 1 1024M 0 rom
参考文档:Linux 磁盘管理
注意:重启之后,需要重新配一下挂载源,具体可参考:OpenStack环境设计和系统准备
修改配置文件
[root@controller ~]# cd /etc/xiandian
[root@controller xiandian]# ls
openrc.sh
[root@controller xiandian]# vi openrc.sh
##--------------------Swift Config---------------------## ##Password for Keystore swift user. exmaple:000000 SWIFT_PASS=000000 ##The NODE Object Disk for Swift. example:md126p4. OBJECT_DISK=sdb3 #刚添加的分区的名称 ##The NODE IP for Swift Storage Network. example:x.x.x.x. STORAGE_LOCAL_NET_IP=10.0.0.11 #计算或存储节点IP
安装SWIFT
[root@controller xiandian]# cd /usr/local/bin
控制节点:
[root@controller bin]# source /etc/keystone/admin-openrc.sh
[root@controller bin]# iaas-install-swift-controller.sh
计算节点:
执行脚本iaas-install-swift-compute.sh进行安装
执行过程中需要确认登录controller节点和输入controller节点root用户密码。
启动Swift
[root@controller swift]# source /etc/keystone/admin-openrc.sh
[root@controller swift]# swift-init all restart
[root@controller swift]# swift stat
Account: AUTH_a06028e9f8e348d3b7a494a9d5cb0ee6 Containers: 0 Objects: 0 Bytes: 0 X-Put-Timestamp: 1556349822.96296 X-Timestamp: 1556349822.96296 X-Trans-Id: tx6f9d41fbd01840fe8bf63-005cc4037e Content-Type: text/plain; charset=utf-8 You have new mail in /var/spool/mail/root
Swift账号操作
查看当前账户
[root@controller swift]# swift stat
Account: AUTH_a06028e9f8e348d3b7a494a9d5cb0ee6 Containers: 0 Objects: 0 Bytes: 0 X-Put-Timestamp: 1556349822.96296 X-Timestamp: 1556349822.96296 X-Trans-Id: tx6f9d41fbd01840fe8bf63-005cc4037e Content-Type: text/plain; charset=utf-8 You have new mail in /var/spool/mail/root
Swift容器操作
创建容器
通过命令行实现对swift上数据的操作,首先需要创建一个名称为 ”xiandian”的容器
[root@controller bin]# openstack container create container02
+-------------------------------+-------------+--------------------------------+ | account | container | x-trans-id | +-------------------------------+-------------+--------------------------------+ | AUTH_a06028e9f8e348d3b7a494a9 | container02 | txae33a419f9bc4d19830d4-005cc5 | | d5cb0ee6 | | d3ba | +-------------------------------+-------------+--------------------------------+
列出所有容器
[root@controller ~]# openstack container list
+-------------+ | Name | +-------------+ | container01 | | container02 | | maxin | | xiandain | | xiandian |
获取容器元数据
[root@controller ~]# openstack container show container02
+--------------+---------------------------------------+ | Field | Value | +--------------+---------------------------------------+ | account | AUTH_a06028e9f8e348d3b7a494a9d5cb0ee6 | | bytes_used | 0 | | container | container02 | | object_count | 0 |
删除容器
[root@controller ~]# openstack container delete container02
Swift对象操作
上传文件
[root@controller bin]# touch file01
[root@controller bin]# openstack object create container02 file01
+--------+-------------+----------------------------------+ | object | container | etag | +--------+-------------+----------------------------------+ | file01 | container01 | d41d8cd98f00b204e9800998ecf8427e | +--------+-------------+----------------------------------+
上传之后,就可以在container02这个容器中找到文件:
[root@controller ~]# openstack object list container02
+--------+ | Name | +--------+ | file01 |
</nowiki>
下载文件
[root@controller bin]# cd /mnt
[root@controller mnt]# ls
centos iaas
[root@controller mnt]# openstack object save container02 file01
[root@controller mnt]# ls
centos file01 iaas
查看容器内的对象
[root@controller bin]# openstack object list container02
+--------+ | Name | +--------+ | file01 |
批量上传文件
[root@controller ~]# mkdir test
[root@controller ~]# cd test
[root@controller test]# touch 1.txt 2.txt
[root@controller test]# openstack object create container02 *.txt
+--------+-------------+----------------------------------+ | object | container | etag | +--------+-------------+----------------------------------+ | 1.txt | container02 | d41d8cd98f00b204e9800998ecf8427e | | 2.txt | container02 | d41d8cd98f00b204e9800998ecf8427e | +--------+-------------+----------------------------------+
参考文档:
[1] https://blog.51cto.com/ucweb/1904357 [2] https://blog.51cto.com/ucweb/1904357