20260518 Swift实验

Swift实验

控制节点新添加一块20GB磁盘

新添磁盘分成两个区,并格式化
分区一:挂载到obs1目录
分区二:挂载到obs2目录

bash 复制代码
[root@controller ~ 11:45:09]# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.32.1).
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.
Created a new DOS disklabel with disk identifier 0xb5fb75bc.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +10G           
Created a new partition 1 of type 'Linux' and of size 10 GiB.

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (20973568-41943039, default 20973568): 
Last sector, +sectors or +size{K,M,G,T,P} (20973568-41943039, default 41943039): 

Created a new partition 2 of type 'Linux' and of size 10 GiB.

Command (m for help): p
Disk /dev/sdb: 20 GiB, 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
Disklabel type: dos
Disk identifier: 0xb5fb75bc

Device     Boot    Start      End  Sectors Size Id Type
/dev/sdb1           2048 20973567 20971520  10G 83 Linux
/dev/sdb2       20973568 41943039 20969472  10G 83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

将两个分区格式化为xfs格式

bash 复制代码
[root@controller ~ 11:46:01]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@controller ~ 11:46:17]# mkfs.xfs /dev/sdb2
meta-data=/dev/sdb2              isize=512    agcount=4, agsize=655296 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=2621184, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

下面为默认挂给swift的虚拟设备分区,将其卸载

bash 复制代码
[root@controller ~ 11:46:21]# lsblk 
NAME                                  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0                                   7:0    0     2G  0 loop /srv/node/swiftloopback
loop1                                   7:1    0  20.6G  0 loop 
├─cinder--volumes-cinder--volumes--pool_tmeta
│                                     253:3    0    20M  0 lvm  
│ └─cinder--volumes-cinder--volumes--pool
│                                     253:5    0  19.6G  0 lvm  
└─cinder--volumes-cinder--volumes--pool_tdata
                                      253:4    0  19.6G  0 lvm  
  └─cinder--volumes-cinder--volumes--pool
                                      253:5    0  19.6G  0 lvm  
sda                                     8:0    0   200G  0 disk 
├─sda1                                  8:1    0     1G  0 part /boot
└─sda2                                  8:2    0   199G  0 part 
  ├─cs-root                           253:0    0    70G  0 lvm  /
  ├─cs-swap                           253:1    0   3.9G  0 lvm  [SWAP]
  └─cs-home                           253:2    0 125.1G  0 lvm  /home
sdb                                     8:16   0    20G  0 disk 
├─sdb1                                  8:17   0    10G  0 part 
└─sdb2                                  8:18   0    10G  0 part 
sr0                                    11:0    1  12.8G  0 rom  
bash 复制代码
[root@controller ~ 11:46:25]# umount /srv/node/swiftloopback  #卸载原来的swift虚拟设备分区
[root@controller ~ 11:48:57]# cd /srv/node  #切换到swift目录
[root@controller node 11:49:04]# ls
swiftloopback
[root@controller node 11:49:05]# rm -rf swiftloopback/ #删除原来的swift挂载目录
[root@controller node 11:49:11]# mkdir ob1 ob2  #创建新的挂载目录,分别挂载sdb1,sbd2

配置挂载文件,将obs1--sdb1,obs2--sdb2分别挂载关联

bash 复制代码
[root@controller node]# vim /etc/fstab   #下面三行话,一句注释,两句添加
#/srv/loopback-device/swiftloopback     /srv/node/swiftloopback ext4   
noatime,nodiratime,nofail,loop,user_xattr       0       0
/dev/sdb1 /srv/node/obs1 xfs defaults 0 0
/dev/sdb2 /srv/node/obs2 xfs defaults 0 0
[root@controller node]# mount -a             #挂载
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
[root@controller node]# df                   #查看现象
Filesystem         1K-blocks   Used Available Use% Mounted on
devtmpfs              3904608       0   3904608   0% /dev
tmpfs                 3924792       4   3924788   1% /dev/shm
tmpfs                 3924792   17652   3907140   1% /run
tmpfs                 3924792       0   3924792   0% /sys/fs/cgroup
/dev/mapper/cs-root  73364480 6867104  66497376  10% /
/dev/mapper/cs-home 131081692  946964 130134728   1% /home
/dev/sda1             1038336  234124    804212  23% /boot
tmpfs                  784956       0    784956   0% /run/user/0
/dev/sdb1            10475520  106088  10369432   2% /srv/node/obs1
/dev/sdb2            10474496  106088  10368408   2% /srv/node/obs2

修改obs1目录和obs2目录权限

bash 复制代码
[root@controller node]# chown swift:swift obs1
[root@controller node]# chown swift:swift obs2
[root@controller node]# ll
total 0
drwxr-xr-x 2 swift swift 6 Sep 29 14:04 obs1
drwxr-xr-x 2 swift swift 6 Sep 29 14:04 obs2

创建swfit ring:

bash 复制代码
[root@controller node]# cd /etc/swift/
[root@controller swift]# ls
account.builder account-server.conf container-reconciler.conf containerserver.conf
object-expirer.conf object-server.conf swift.conf
account.ring.gz backups             container.ring.gz         internalclient.conf
  object.ring.gz       proxy-server
account-server   container.builder   container-server           object.builder   
      object-server       proxy-server.conf
[root@controller swift]# swift-ring-builder container.builder create --help
swift-ring-builder <builder_file> create <part_power> <replicas>
                                     <min_part_hours>
   Creates <builder_file> with 2^<part_power> partitions and <replicas>.
   <min_part_hours> is number of hours to restrict moving a partition more
   than once.
[root@controller swift]# swift-ring-builder container.builder create 12 2 1
[root@controller swift]# swift-ring-builder account.builder create 12 2 1
[root@controller swift]# swift-ring-builder object.builder create 12 2 1
#12表示ring分区数量为2^12
#2表示2个副本
#1表示最少1个小时后才能更改ring配置

创建ring映射关系:

bash 复制代码
#查看配置文件,分别查看account,container,obeject的bind_port记录下来
[root@controller swift]# cat account-server.conf | grep bind_port
bind_port = 6002
[root@controller swift]# cat container-server.conf | grep bind_port
bind_port = 6001
[root@controller swift]# cat object-server.conf | grep bind_port
bind_port = 6000
[root@controller swift]# swift-ring-builder account.builder add z1-
192.168.108.10:6002/obs1 100
WARNING: No region specified for z1-192.168.108.10:6002/obs1. Defaulting to 
region 1.
[root@controller swift]# swift-ring-builder account.builder add z2-
192.168.108.10:6002/obs2 100
[root@controller swift]# swift-ring-builder container.builder add z1-
192.168.108.10:6001/obs1 100
[root@controller swift]# swift-ring-builder container.builder add z2-
192.168.108.10:6001/obs2 100
[root@controller swift]# swift-ring-builder object.builder add z1-
192.168.108.10:6000/obs1 100
[root@controller swift]# swift-ring-builder object.builder add z2-
192.168.108.10:6000/obs2 100

再平衡:

bash 复制代码
[root@controller swift]# swift-ring-builder account.builder rebalance
Reassigned 8192 (200.00%) partitions. Balance is now 0.00. Dispersion is now 
0.00
[root@controller swift]# swift-ring-builder object.builder rebalance
Reassigned 8192 (200.00%) partitions. Balance is now 0.00. Dispersion is now 
0.00
[root@controller swift]# swift-ring-builder container.builder rebalance
Reassigned 8192 (200.00%) partitions. Balance is now 0.00. Dispersion is now 
0.00
相关推荐
qziovv3 小时前
Git 回退场景
大数据·git·elasticsearch
人月神话-Lee4 小时前
【图像处理】饱和度——颜色的浓淡与灰度化
图像处理·人工智能·ios·ai编程·swift
潮起鲸落入海5 小时前
OpenStack块存储管理-cinder对象存储-swift
openstack·swift
来自大山深处的Doge_5 小时前
解决Git提交更新更改时出错: detected dubious ownership in repository at ...
git
人月神话-Lee7 小时前
【图像处理】卷积原理与卷积核——图像处理的核心引擎
图像处理·深度学习·ios·ai编程·swift
嵌入式爱好者hsw8 小时前
Git 部署本地仓库
git
C137的本贾尼9 小时前
Git基本操作(三):版本回退,坐上“时光机”
git
ylifs10 小时前
目的驱动式Git用法
git
Daniel_Coder10 小时前
iOS Widget 开发-15:Widget 性能优化指南
ios·swift·widget·widgetcenter