Ring共有三种,分别为Account Ring、Container Ring、Object Ring。Ring需要在整个集群中保持完全相同,因此需要在某一台PC上创建Ring文件,然后复制到其他PC上。我们将在PC1上进行Ring的创建,然后复制到PC2上。
首先,使用如下命令创建三个Ring。其中,18表示Ring的分区数为218;2表示对象副本数为2;1表示分区数据的迁移时间为1小时(这个解释有待证实)。
# cd /etc/swift
# swift-ring-builder account.builder create 18 2 1
# swift-ring-builder container.builder create 18 2 1
# swift-ring-builder object.builder create 18 2 1
然后向三个Ring中添加存储设备。其中z1和z2表示zone1和zone2;sdb1为Swift使用的存储空间,即上文挂在的回环设备;100代表设备的权重。
# cd /etc/swift
# swift-ring-builder account.builder add z1-192.168.3.52:6002/sdb1 100
# swift-ring-builder container.builder add z1-192.168.3.52:6001/sdb1 100
# swift-ring-builder object.builder add z1-192.168.3.52:6000/sdb1 100
# swift-ring-builder account.builder add z2-192.168.3.53:6002/sdb1 100
# swift-ring-builder container.builder add z2-192.168.3.53:6001/sdb1 100
# swift-ring-builder object.builder add z2-192.168.3.53:6000/sdb1 100
Ring文件创建完毕后,可以通过以下命令来查看刚才添加的信息,以验证是否输入正确。若发现错误,以Account Ring为例,可以使用swift-ring-builder account.builder的删除方法删除已添加的设备,然后重新添加。
# cd /etc/swift
# swift-ring-builder account.builder
# swift-ring-builder container.builder
# swift-ring-builder object.builder
完成设备的添加后,我们还需要创建Ring的最后一步,即平衡环。这个过程需要消耗一些时间。成功之后,会在当前目录生成account.ring.gz、container.ring.gz和object.ring.gz三个文件,这三个文件就是所有节点(包括Proxy Server和Storage Server)要用到的Ring文件。我们需要将这三个文件拷贝到PC2中的/etc/swift目录下。
# cd /etc/swift
# swift-ring-builder account.builder rebalance
# swift-ring-builder container.builder rebalance
# swift-ring-builder object.builder rebalance
由于我们统一采用root用户部署,所以要确保所有节点上的/etc/swift目录都属于root用户。
# chown -R root:root /etc/swift
2.7 创建Swift执行脚本
为便于 *** 作,我们可以在PC1和PC2上创建以下Swift脚本。
1. 创建~/swift/bin/remakerings脚本文件,添加以下内容,即可一键完成Ring的重新创建,当然具体内容需要根据实际环境进行修改。
#!/bin/bash
cd /etc/swift
rm -f *.builder *.ring.gz backups/*.builder backups/*.ring.gz
swift-ring-builder account.builder create 18 2 1
swift-ring-builder container.builder create 18 2 1
swift-ring-builder object.builder create 18 2 1
swift-ring-builder account.builder add z1-192.168.3.52:6002/sdb1 100
swift-ring-builder container.builder add z1-192.168.3.52:6001/sdb1 100
swift-ring-builder object.builder add z1-192.168.3.52:6000/sdb1 100
swift-ring-builder account.builder add z2-192.168.3.53:6002/sdb1 100
swift-ring-builder container.builder add z2-192.168.3.53:6001/sdb1 100
swift-ring-builder object.builder add z2-192.168.3.53:6000/sdb1 100
swift-ring-builder account.builder rebalance
swift-ring-builder container.builder rebalance
swift-ring-builder object.builder rebalance
2. 创建~/swift/bin/resetswift脚本文件,添加以下内容,即可一键清空Swift的对象数据和日志,完成重置。注意:如果使用的是独立分区存储,则需要另行处理,例如将/srv/swift-disk替换为/dev/sdb1等;如果没有使用rsyslog作为独立日志,则需要去掉“find /var/log/swift... ”和“sudo service rsyslog restart”这两行。
#!/bin/bash
swift-init all stop
find /var/log/swift -type f -exec rm -f {} \
sudo umount /srv/node/sdb1
sudo mkfs.xfs -f -i size=1024 /srv/swift-disk
sudo mount /srv/node/sdb1
sudo chown root:root /srv/node/sdb1
sudo rm -f /var/log/debug /var/log/messages /var/log/rsyncd.log /var/log/syslog
sudo service rsyslog restart
sudo service rsync restart
sudo service memcached restart
3. 创建~/swift/bin/startmain脚本文件,添加以下内容,即可一键启动Swift的基本服务,包括proxy-server、account-server、container-server和object-server。
#!/bin/bash
swift-init main start
4. 创建~/swift/bin/stopmain脚本文件,添加以下内容,即可一键关闭Swift的基本服务,包括proxy-server、account-server、container-server和object-server。
#!/bin/bash
swift-init main stop
5. 创建~/swift/bin/startall脚本文件,添加以下内容,即可一键启动Swift的所有服务,包括proxy-server、account-server、account-replicator 、account-auditor、container-server、container-replicator、container-updater、container-auditor、object-server、object-replicator、object-updater、object-auditor。
#!/bin/bash
swift-init proxy start
swift-init account-server start
swift-init account-replicator start
swift-init account-auditor start
swift-init container-server start
swift-init container-replicator start
swift-init container-updater start
swift-init container-auditor start
swift-init object-server start
swift-init object-replicator start
swift-init object-updater start
swift-init object-auditor start
6. 创建~/swift/bin/stopall脚本文件,添加以下内容,即可一键关闭Swift的所有服务,包括proxy-server、account-server、account-replicator 、account-auditor、container-server、container-replicator、container-updater、container-auditor、object-server、object-replicator、object-updater、object-auditor。
#!/bin/bash
swift-init proxy stop
swift-init account-server stop
swift-init account-replicator stop
swift-init account-auditor stop
swift-init container-server stop
swift-init container-replicator stop
swift-init container-updater stop
swift-init container-auditor stop
swift-init object-server stop
swift-init object-replicator stop
swift-init object-updater stop
swift-init object-auditor stop
7. 完成脚本创建后,需要更改脚本权限,使之能够执行。
# chmod +x ~/swift/bin/*
/opt/dmdbms
/opt/dmdbms/bin/data/DAMENG
/opt/dmdbms/bin/drivers
/opt/dmdbms/bin/web
注:屏蔽关键字时,会导致web管理端不可用
DAMENG
SYSDBA/SYSDBA123
SYSSSO/SYSSSO123
SYSAUDITOR/SYSAUDITOR123
/opt/dmdbms/bin/bin/DmServiceDMSERVER start
/opt/dmdbms/bin/bin/DmServiceDMSERVER stop
/opt/dmdbms/bin/bin/DmServiceDMSERVER restart
cd /opt/dmdbms/bin/bin
./disql 用户名/密码@LOCALHOST:5236
select * from V$LICENSE
SYSDBA登录:
create user xxxx
grant dba to xxxx
SYSSSO登录:
alter user xxxx identified by "xxxx" ---更改用户名密码
alter user xxxx limit password_life_time unlimited ---更改用户名密码有效期
alter user xxxx limit failed_login_attemps unlimited ---更改用户登录失败次数
alter user xxxx limit password_lock_time unlimited ---更改用户名密码锁定时间
alter user "xxxx" account unlock
start 脚本全路径
db.driver=dm.jdbc.driver.DmDriver
db.url=jdbc: dm://IP:PORT/DmServiceDMSERVER?DAMENG&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)