Array card cache battery charging and discharging problem

Source: Internet
Author: User
Tags hp server

Disk array is a long-standing technology on the server, it is widely used by most server OEMs to make reasonable use of space and performance in different array modes to match the cost-effective disk array. Among them, LSI Company's MegaRAID SAS products are widely used in various brands (except HP) x86 servers.

Why is there a cache?

Array Card core technology consists of three parts: 1, Data stripe, 2, data redundancy, 3, cache. Where the cache is known as the array Card memory (cache): The array card controller optimizes the write performance of the application by optimizing the write requests issued by the upper application and storing them in the array card cache (the upper application does not have to wait for the data to actually flush to disk to complete the write operation). Because the array card cache is also part of RAM (volatile storage), there is also a risk of dropping data. Once the server loses power, the data in the array card cache is lost, which poses the risk of data consistency for the application.

The birth of the battery

In order to guarantee the data consistency after the power outage, a rechargeable battery is applied to the array card buffer unit. Today, most of the array card cache units add a rechargeable battery pack, which provides power support for the cache after a power outage, while ensuring that the data is not lost for a certain amount of time (typically 48 hours). Until the next time the server recovers power again, the array card controller will flush the data in the cache to disk to avoid dirty data generation.

How the cache is powered

1. In general, when the server is powered on, the array card cache uses the motherboard power supply;
2, the server power off the array card board card circuit automatically switch the power of the cache from the motherboard to the battery;

Why does the battery charge and discharge operation?

LSI array Card is a lithium-ion battery scheme, we know that lithium battery has a strong inertia, it will be in a non-rechargeable state of the slow self-discharge (battery characteristics), a period of time after the power will be reduced. In order to be able to calibrate in time to avoid the battery due to self-discharge caused by unclear power, so the array card controller will cycle the battery charge and discharge operation (relearn), in order to ensure the accuracy of power, but also can determine whether the battery failure or aging.

What happens when the battery is charged and discharged?

1, the controller first to fully discharge the battery until 0 power;

2, the controller re-charging the battery operation until full;

3. The controller re-calculates and calibrates the battery power;

4, waiting for the next charge and discharge time point;

Why is charging and discharging causing performance problems?

Charge and discharge operation because the battery power can not provide sufficient data protection time, in order to avoid the risk of the array card controller by default, the cache is turned off, it is because the cache was shut down and caused a sharp decline in write performance.

Why don't HP servers have similar problems?

1. The HP server uses a PMC controller-based array card in its own design, which uses Ni-MH batteries. NiMH batteries are not too inert, and unlike lithium batteries, they do not need to be fully discharged to calibrate their power.
2, when the Ni-MH battery due to self-discharge resulting in reduced power to a certain extent (such as 80%), the array card controller will detect a decrease in power and charge the battery to replenish the lost power. The entire process is transparent to the user and does not need to close the cache, so it does not affect IO performance.

Is there an alternative to rechargeable batteries?

Yes! The flash-drive capacitor solution not only replaces the battery to provide virtually unlimited data protection time, and the controller does not shut down the cache due to charge and discharge operations. The flash-in capacitor is capable of briefly powering the array card (about a few minutes) when the server loses power, and then the array card controller replicates all the data in the cache to the same volume of Flash media. Since flash memory is non-volatile, it can be considered that data protection time is unlimited. The next time the server is powered on normally, the array card controller will flush dirty data from flash memory to disk during the initialization phase.

Of course, the Flash-type capacitor scheme is not absolutely perfect, the shortcomings are obvious, is the cost is too high!

Why are rechargeable batteries used?

1, based on rechargeable battery cache unit Price is low, compared to the flash-based capacitor cache unit is much cheaper;
2. Rechargeable battery has been able to meet certain data protection time by circulating charging.

After all, it's cost!

Operation and maintenance problems caused by automatic charging and discharging of array cards?
1, battery life is limited, replacement cycle is usually 2-3 years, replacement needs to stop operation, increase operational workload;
2, the battery automatically charge and discharge will be forced to close the cache impact write performance, to the business performance caused a great impact on operational dimension to bring pressure;
3, due to the problems caused by battery problems and failures are numerous, increase the workload of the operation and maintenance team.

Why give up the automatic charging and discharging function of the array card?
1, usually the server is a dual-power solution, single-supply failure of the replacement operation can be completed online;
2, the binding line specification makes the power supply and the plug does not have the loose separation between the situation, reduced the power loss the risk;
3, the monthly failure rate of a single power supply is much lower than the disk, memory, array card, double power and the probability of failure is extremely low;

Solutions for charge and discharge problems:

1, the power supply scheme of the buffer unit is replaced by flash-type capacitor;

2, the cache is set to WT (write cache on) and Cachedbadbbu (forced write cache on), Autolearn is still periodic, but the process of the stage cache will not be closed; (recommended)

3, worry about the Autolearn period of battery data protection time is not enough, you can also choose not to force open write cache, only in the low peak period of business through the MEGACLI tool artificial battery relearn operation.

Array card cache battery charging and discharging problem

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.