How to add a volume into HA cluster

http://high-availability.com/FAQ/index.php?action=artikel&cat=13&id=40&artlang=en&highlight=Adding+a+volume


To add a volume to the cluster first select the Add a volume tab from the volume operations section. This presents a configuration similar to the one shown below. Note that volumes presented in the an style="font-family: arial,helvetica,sans-serif;">Volumean> drop down list are made up of volumes imported on the cluster node the GUI is being run on and are not already part of the cluster.

Adding a volume tab - volume settings

Once a volume is selected, the following information should be entered/set:

  • Failover hostname

    The hostname to be associated with this volume service. This is the hostname that clients should use to connect to the service.

  • Primary appliance

    Specifies the preferred node in the cluster to bring the service up on.

  • Heartbeat devices

    This is a list of the virtual devices (vdevs) in the pool. As of NexentaStor 3.1 the cluster software is able to heartbeat directly throught these devices. By default the first two devices are selected - this is the recommended number of heartbeats per pool. You can select more heartbeats if required, change the two that are being used, have a minimum of one heartbeat or indeed specify all devices using the select all checkbox in the list heading. Note that each pool will have it's own set of heartbeat devices, so if the cluster has three pools each with two heartbeat devices each then a total of six heartbeat devices will be defined in the cluster.

  • Failover interface

    For each node in the cluster a drop down box provides a list of the interfaces available to which the failover hostname is bound when the volume is running on that node.

There are a number of more advanced settings that can be altered by selecting the Advanced Settings tab. Note that these settings are not mandatory as sensible defaults have been selected for you.

alt="" width="907" height="517" />

  • Netmask

    An optional netmask to be applied to the failover hostname. If one is not provided then the default netmask for the failover hostname network class is used.

  • Initial timeout

    This is the initial time that cluster nodes wait to contact other cluster nodes when they first boot up. If this timeout expires the node will then start any services that are in automatic mode. However, if during this timeout other cluster nodes are contacted then the timeout is canceled and the nodes negotiate between themselves which services to start.

  • Standard timeout

    The time after which it is determined contact is lost with another node. Once expired any services eligable to run on this node that are not running elsewhere in the cluster will be started.

  • Enable SCSI-2 reservations

    Issue scsi reservations on the devices in a volume before importing it; this is done to enforce data integrity (i.e. prevents the pool being imported on two nodes at any one time). Under normal circumstances this option should be left enabled and should only be turned off if instructed to do so by Nexenta support staff.

  • Volume export failure

    Should a volume export fail then this option forces the node the export is failing on to halt immediatly. This option was a requirment for legacy iSCSI and is no longer needed for COMSTAR.

Finally click the alt="" width="155" height="24" /> buttonto complete the volume addition.

If the failover hostname is undefined on any or all of the nodes in the cluster then a popup window will prompt you to enter the IP address of the hostname. The input field is aware of the correct format of IP version 4 addresses and will place a red line under an incomplete address thus:

alt="" width="342" height="217" />

Once a syntactically correctly address is added the red underline is removed and the hostname/address can be added to the cluster:

alt="" width="340" height="215" />

Finally a popup appears to confirm the volume addition:

alt="" width="401" height="127" />

Removing a volume

Click on the Remove a volume tab to be presented with a table of volumes in the cluster similar to the example below:

alt="" width="909" height="465" />

To remove a volume simply click the alt="" width="16" height="16" /> icon on the row of the volume you want to remove. A popup then confirms volume removal:

alt="" width="556" height="129" />

When removing a volume the following points should be noted:

  • The volume will be removed from the cluster without effecting any other volumes in the cluster.
  • The volume will be left imported on the node it is running on. If it is not running on any nodes in the cluster then it will be left exported.
  • The failover hostname associated with the volume will be moved to NMS control.

Adding Dash into PyQt5 involves integrating the Plotly library with a PyQt5 application to create interactive web-based interfaces. Here's a step-by-step guide on how to do it: 1. **Install required libraries**: - First, you need to have PyQt5 installed for creating the GUI part. You can install it using pip: `pip install PyQt5`. - Install Dash and its dependencies: `pip install dash dash-core-components dash-html-components` 2. **Set up a Dash app**: Create a new Python file (e.g., `dash_qt_app.py`) and import necessary modules from Dash like `dash`, `dash_core_components`, and `dash_html_components`. Set up your basic Dash app. ```python import dash import dash_core_components as dcc import dash_html_components as html app = dash.Dash(__name__) app.layout = html.Div([ # Add your components here, e.g., graphs or widgets ]) ``` 3. **Create a PyQt5 window**: In another module or the same one, define a PyQt5.QtWidgets QApplication and QMainWindow. ```python from PyQt5.QtWidgets import QApplication, QMainWindow app = QApplication([]) # Create PyQt5 app main_window = QMainWindow() # Create a main window ``` 4. **Embedding Dash in PyQt5**: Use an external renderer provided by Dash called `dash.qt`, which allows rendering Dash apps in a QWebView widget. ```python from dash.dependencies import Input, Output import dash_html_components as html external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css'] # Dash layout dash_layout = dash.dcc.Loading( id='loading', type='default', children=[dcc.Graph(id='example-graph')] ) # Qt widget dash_view = dash.qt_renderer.DashQtView(app, dash_layout) ``` 5. **Displaying the Dash view**: Set the Dash view inside your PyQt5 QMainWindow and show it. ```python main_window.setCentralWidget(dash_view) # Set the Dash view as the central widget main_window.show() ``` 6. **Running the application**: Start both the Dash app and the PyQt5 app. ```python if __name__ == '__main__': app.run_server(debug=True) # Run the Dash server app.exec_() # Run the PyQt5 event loop ``` With this setup, you've integrated Dash into PyQt5, allowing you to display interactive plots and other Dash components in a GUI context.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值