Skip to main content

Openstack manila phần 2: Generic Driver

Cấu hình manila share với Generic Driver
Yêu cầu khi sử dụng Generic Driver là bạn phải có cấu hình nova, neutron và cinder trong file cấu hình /etc/manila/manila.conf trên node manila-share
Và trên node manila share sẽ cần cài đặt L2 Agent. ở đây mình sử dụng OpenvSwitch. Mình sẽ cài đặt manila-share trên node compute để không phải cấu hình lại openvswitch.
Mô hình cài đặt
  • Ta sẽ cần một image có sẵn share service. Tải image về từ openstack foundation
wget http://tarballs.openstack.org/manila-image-elements/images/manila-service-image-master.qcow2
  • Upload image và tạo flavor.
openstack image create "manila-service-image" \  
--file manila-service-image-master.qcow2 \
--disk-format qcow2 \
--container-format bare \
--public

openstack flavor create manila-service-flavor --id 100 --ram 256 --disk 0 --vcpus 1  
  • Kiểm tra image
openstack image list  
  • Thêm các mục sau vào /etc/manila/manila.confSửa lại password các user
[nova]
auth_uri = http://controller:5000  
auth_url = http://controller:35357  
memcached_servers = controller:11211  
auth_type = password  
project_domain_name = default  
user_domain_name = default  
region_name = RegionOne  
project_name = service  
username = nova  
password = saphi

[cinder]

auth_uri = http://controller:5000  
auth_url = http://controller:35357  
memcached_servers = controller:11211  
auth_type = password  
project_domain_name = default  
user_domain_name = default  
region_name = RegionOne  
project_name = service  
username = cinder  
password = saphi

[neutron]

url = http://controller:9696  
auth_uri = http://controller:5000  
auth_url = http://controller:35357  
memcached_servers = controller:11211  
auth_type = password  
project_domain_name = default  
user_domain_name = default  
region_name = RegionOne  
project_name = service  
username = neutron  
password = saphi  
  • Khai báo backend sử dụng, Thêm vào phần [DEFAULT] như sau
enabled_share_backends= generic1 #generic1 là tên phần backend  
enabled_share_protocols=NFS,CIFS #giao thức cho phép  
  • Khai báo cấu hình backend
[generic1]
share_backend_name = GENERIC-1  
share_driver = manila.share.drivers.generic.GenericShareDriver  
driver_handles_share_servers = True  
service_instance_flavor_id = 100  
service_image_name = manila-service-image  
service_instance_user = manila  
service_instance_password = manila  
#interface_driver = manila.network.linux.interface.BridgeInterfaceDriver # nếu sử dụng LinuxBridge thì uncomment
interface_driver = manila.network.linux.interface.OVSInterfaceDriver  
  • Reset lại dịch vụ manila-share
service manila-share restart  
  • Tương tự ta kiểm tra trạng thái các service manila
manila service-list  
  • Tạo share-type và share-network
manila type-create generic True  
True ở đây có nghĩa là Driver Handling Share Servers = True
  • Với Share-network ta sẽ cần net-id và subnet-id của project.
root@controller:/home/saphi# neutron net-list  
+--------------------------------------+------------------------+------------------------------------------------------+
| id                                   | name                   | subnets                                              |
+--------------------------------------+------------------------+------------------------------------------------------+
| 85caa7b4-1212-4037-b350-5e2db386b416 | private_demo           | f5c151cd-5baa-4628-b8dc-43963115adc7 192.168.2.0/24  |
| 56fc4f98-ddc9-49a0-a014-5b86f7d99f82 | ext-net                | a1bb678f-d630-4c1a-8053-7af2676e2b94 172.16.25.0/24  |
| 9af94508-21a7-4c3f-b126-04adf719ec19 | private-net            | a6b97594-0338-4f99-beea-cd0d0d07363b 192.168.10.0/24 |
+--------------------------------------+------------------------+------------------------------------------------------
Mình đang ở project admin do vậy sẽ lấy subnet và net id của admin là dải private-net
root@controller:/home/saphi# manila share-network-create --name share-net-admin --neutron-subnet-id a6b97594-0338-4f99-beea-cd0d0d07363b --neutron-net-id 9af94508-21a7-4c3f-b126-04adf719ec19  
+-------------------+--------------------------------------+
| Property          | Value                                |
+-------------------+--------------------------------------+
| name              | share-net-admin                      |
| segmentation_id   | None                                 |
| created_at        | 2016-06-05T11:02:17.209356           |
| neutron_subnet_id | a6b97594-0338-4f99-beea-cd0d0d07363b |
| updated_at        | None                                 |
| network_type      | None                                 |
| neutron_net_id    | 9af94508-21a7-4c3f-b126-04adf719ec19 |
| ip_version        | None                                 |
| nova_net_id       | None                                 |
| cidr              | None                                 |
| project_id        | 2dbc33e520b84b8ab550b649099d7972     |
| id                | 9a295209-63d7-4637-9efc-f6317e7bff8a |
| description       | None                                 |
+-------------------+--------------------------------------+
Kiểm tra share network đã tạo ra
Ta cũng thấy rằng sẽ có một mạng và subnet mới được tạo ra với tên manila_service_network
Thực hiện tạo share server sử dụng giao thức NFS và kích thước share 1GB có tên share-01
manila create nfs 1 --share-network share-net-admin --name share-01  
Và sau đó ta sẽ có share server
Mình đang có một instance sa trên project admin có IP 192.168.10.7
root@controller:/home/saphi# openstack server list  
+--------------------------------------+------+--------+--------------------------+
| ID                                   | Name | Status | Networks                 |
+--------------------------------------+------+--------+--------------------------+
| dbf12e7f-1fec-4817-8a39-e7100835f092 | sa   | ACTIVE | private-net=192.168.10.7 |
+--------------------------------------+------+--------+--------------------------+
Tạo access-allow cho instance trên vào share share-01
Để lấy đường dẫn mount manila show share-01
root@controller:/home/saphi# manila show share-01  
+-----------------------------+-----------------------------------------------------------------------+
| Property                    | Value                                                                 |
+-----------------------------+-----------------------------------------------------------------------+
| status                      | available                                                             |
| share_type_name             | default_share_type                                                    |
| description                 | None                                                                  |
| availability_zone           | nova                                                                  |
| share_network_id            | 9a295209-63d7-4637-9efc-f6317e7bff8a                                  |
| export_locations            |                                                                       |
|                             | path = 10.254.0.12:/shares/share-d7287607-4750-4874-b3ca-bd9c734cee0e |
|                             | preferred = False                                                     |
|                             | is_admin_only = False                                                 |
|                             | id = 0db97dd9-0af2-49fb-907e-854263727995                             |
|                             | share_instance_id = d7287607-4750-4874-b3ca-bd9c734cee0e              |
| share_server_id             | 25c6e835-5dbe-4bbb-8451-29df0805aaef                                  |
| host                        | compute1@generic#GENERIC                                              |
| access_rules_status         | active                                                                |
| snapshot_id                 | None                                                                  |
| is_public                   | False                                                                 |
| task_state                  | None                                                                  |
| snapshot_support            | True                                                                  |
| id                          | fd6574cc-ac43-4f8d-bfd1-22edbf1bf113                                  |
| size                        | 1                                                                     |
| name                        | share-01                                                              |
| share_type                  | 4d7aca95-a7d0-4d66-9036-7e7e876d8c4c                                  |
| has_replicas                | False                                                                 |
| replication_type            | None                                                                  |
| created_at                  | 2016-06-05T11:06:50.000000                                            |
| share_proto                 | NFS                                                                   |
| consistency_group_id        | None                                                                  |
| source_cgsnapshot_member_id | None                                                                  |
| project_id                  | 2dbc33e520b84b8ab550b649099d7972                                      |
| metadata                    | {}                                                                    |
+-----------------------------+-----------------------------------------------------------------------+
Trên instance sa thưc hiện mount

Comments

Popular posts from this blog

Merge AVHDX Hyper-V Checkpoints

When you create a snapshot of a virtual machine in Microsoft Hyper-V, a new file is created with the  .avhdx  file extension. The name of the file begins with the name of its parent VHDX file, but it also has a GUID following that, uniquely representing that checkpoint (sometimes called snapshots). You can see an example of this in the Windows Explorer screenshot below. Creating lots of snapshots will result in many  .avhdx  files, which can quickly become unmanageable. Consequently, you might want to merge these files together. If you want to merge the  .avhdx  file with its parent  .vhdx  file, it’s quite easy to accomplish. PowerShell Method Windows 10 includes support for a  Merge-VHD  PowerShell command, which is incredibly easy to use. In fact, you don’t even need to be running PowerShell “as Administrator” in order to merge VHDX files that you have access to. All you need to do is call  Merge-VHD  with the  -Path  parameter, pointing to the  .avhdx  file, and the  -Des

Openstack manila phần 4: Native GlusterFS Driver

Tiếp tục loạt bài về Openstack Manila hôm nay tôi sẽ cấu hình backend sử dụng GlusterFS Yêu cầu phiên bản GlusterFS >= 3.6. Với glusterfs nếu cluster của bạn không hỗ trợ snapshot thì trên manila cũng sẽ mất đi tính năng này. Để cấu hình snapshot ta sẽ cấu hình Thin Provision theo bài hướng dẫn link Với bài lab của mình có 2 node và chạy kiểu replicate. Mình sẽ tạo các thinly provisioned và tạo volume trên đó. Mô hình cài đặt Cài đặt glusterfs-v3.7 add-apt-repository ppa:gluster/glusterfs-3.7 -y apt-get update apt-get install glusterfs-server -y Tham khảo script tạo thin LV và gluster volume Script tạo thinly provisioned chạy trên 2 node apt-get install xfsprogs -y pvcreate /dev/sdb vgcreate myVG /dev/sdb lvcreate -L 8G -T myVG/thinpool for ((i = 1;i<= 5; i++ )) do mkdir -p /manila/manila-"$i" for (( j = 1; j<= 5; j++)) do lvcreate -V "${i}"Gb -T myVG/thinpool -n vol-"$i"-"$j" mkfs.xfs /dev/my

Zabbix, AWS and Auto Registration

One of the things I love the most with AWS is  auto-scaling . You choose an AMI, set some parameters and AWS will spin instances up and down whenever a threshold is breached. But with all these instances spinning up and down there are some unknowns. For example, what is the IP address of the new instance? Its host name? This can be critical when other components of your infrastructure are dependent on knowing these parameters. I had this problem when I started to use  Zabbix  as the monitoring system. At first it seemed like a complicated one, but Zabbix has a wonderful feature called  Auto Registration  which can be used exactly for this situation. I will try to show how to configure auto registration both on the client (EC2 instance running Ubuntu 14.04) and on the Zabbix server (Zabbix Server 2.4.2). Zabbix-agent Installation and Configuration Let’s start with installing zabbix-agent on the Ubuntu client: 1 2 $ sudo apt-get update $ sudo apt-get install -y zab