OpenStack Cinder刪除卷太慢的解決方法


1.讓OpenStack刪除卷更快
為什么速度這么慢?

當我們執行刪除卷命令以后,openstack會嘗試去清除卷上的數據,他是如何清除的呢?
其實他是通過dd命令填充空白數據上去(dd if=/dev/zero)。這樣子的清理方式目的是
為了徹底的清除數據,保證數據安全。但是對於ceph作為后端存儲的情況而言,我們把image刪
除了,數據也就相當安全了。這樣子的操作並沒有太多用處。特別是存儲空間大於50GB的情況下,會操作很久。

我們可以做那些什么?
直接修改/etc/cinder/cinder.conf 配置文件:

# Method used to wipe old volumes (string value)
# Allowed values: none, zero, shred
volume_clear = none

openstack-config --set /etc/cinder/cinder.conf DEFAULT volume_clear none

默認值是zero,我們配置成none,就跳過清理這步。如果我們想只清理前100MB呢?

# Method used to wipe old volumes (string value)
# Allowed values: none, zero, shred
volume_clear = zero
 
# Size in MiB to wipe at start of old volumes. 0 => all (integer value)
volume_clear_size = 100

cinder 中clear_volume段代碼
    
def clear_volume(volume_size, volume_path, volume_clear=None,
                 volume_clear_size=None, volume_clear_ionice=None,
                 throttle=None):
    """Unprovision old volumes to prevent data leaking between users."""
    if volume_clear is None:
        volume_clear = CONF.volume_clear
 
    if volume_clear_size is None:
        volume_clear_size = CONF.volume_clear_size
 
    if volume_clear_size == 0:
        volume_clear_size = volume_size
 
    if volume_clear_ionice is None:
        volume_clear_ionice = CONF.volume_clear_ionice
 
    LOG.info(_LI("Performing secure delete on volume: %s"), volume_path)
 
    # We pass sparse=False explicitly here so that zero blocks are not
    # skipped in order to clear the volume.
    if volume_clear == 'zero':
        return copy_volume('/dev/zero', volume_path, volume_clear_size,
                           CONF.volume_dd_blocksize,
                           sync=True, execute=utils.execute,
                           ionice=volume_clear_ionice,
                           throttle=throttle, sparse=False)
    else:
        raise exception.InvalidConfigurationValue(
            option='volume_clear',
            value=volume_clear)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM