巡检中发现PVE的zfs-raidz2坏了一个盘,查询显示:

~# zpool status rpool
  pool: rpool
 state: DEGRADED
status: One or more devices has been removed by the administrator.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Online the device using zpool online' or replace the device with
        'zpool replace'.
  scan: scrub repaired 0B in 00:43:00 with 0 errors on Sun May 12 01:07:02 2024
config:

        NAME                                                  STATE     READ WRITE CKSUM
        rpool                                                 DEGRADED     0     0     0
          raidz2-0                                            DEGRADED     0     0     0
            ata-INTEL_SSDSC2KB019TZ_PHYI334000GD1P9DGN-part3  ONLINE       0     0     0
            ata-INTEL_SSDSC2KB019TZ_PHYI334000NS1P9DGN-part3  ONLINE       0     0     0
            ata-INTEL_SSDSC2KB019TZ_PHYI334000Q21P9DGN-part3  ONLINE       0     0     0
            ata-INTEL_SSDSC2KB019TZ_PHYI334000Y91P9DGN-part3  ONLINE       0     0     0
            ata-INTEL_SSDSC2KB019TZ_PHYI334000GE1P9DGN-part3  REMOVED      0     0     0

- 阅读剩余部分 -

前些天因为和机房签约的机柜合同开通日期临近,仓促采购了一批DELL R7525/R630、内存、硬盘等。

开始装机DELL R7525后发现内存少了十多条,我觉得是我太忙迷糊了给送去机房了,结果机房值班一查没有,我又以为是卖内存的老板少发了,老板看了下监控也没有少发。

本来想下午机房看下监控是不是机房值班没留意和服务器箱子一起丢了,没丢我就要拿两边视频去找SF问问。比较赶,我新买了一些来应急先,安装的时候想起来DELL R7525是32个内存卡槽的,我是按24内存卡槽来买的内存,难怪少了!

- 阅读剩余部分 -

家里12楼,总觉得桌面浮尘多、加上猫猫到处飘,在和朋友聊天后决定买个小米空气净化器Pro H。一回来我就兴奋的插电开机,显数PM2.5在20左右,我觉得这也太低了吧?就去问客服,是不是得撕了滤芯膜再试?撕了能不能退?他只回复了我要撕了才会显数准,没回复我撕了能不能退。

我撕了以后再看,数据上去了个位数,随后很快降低到20左右。我觉得我上当了。。。

- 阅读剩余部分 -

今天晚上睡觉刚醒在刷X,看到王川发的:

Andy grove 曾说:“只有妄想狂才能生存。”
巴菲特曾说:“股市是一个把钱从不耐心的人转移到耐心的人的地方。”
德川家康说:“忍耐的尽头是不朽。”
我总结下来就是:妄想狂努力奋斗创造财富,但因为性急而持续不定期的把财富转移给更耐心的人,世界最终属于最能忍耐的人。

非常呼应和符合我现时的心境。我突然间想起事情。

- 阅读剩余部分 -

这两个月非常的焦虑,尤其这个月,睡的非常不好,断断续续、日夜颠倒。看似忙碌,实际工作效率非常的低下,错误频出,而且是非常低级的错误。因为没有好的睡眠和作息,记忆力、健康也下降的厉害。

一切伊始是业务增长保持在了我的预期,其实某种程度是超出我预期的,这增长了我的“全能感”,认为一切都可以在预期进行。于是为了保持快速增长,开始用贷款进行扩张,本质上这也算是杠杆吧!当然,我是储备有贷款相等现金的,为预防万一,但这是我一半以上的家当了,因其具有不确定性、不可否认这里面有赌的一些成分,所以我时常担心事情进展不如预期。

- 阅读剩余部分 -

我现在尽量让我的生活和工作保持在一个很慢的节奏,这样才有足够多的时间休息、看书、思考、保持心态的松弛,因为逐渐发现越发的追赶反而犯错的概率更大,就像买股票时候的追涨杀跌、关注短期收益反而最容易亏损。

但有时候不可避免的会因为某些事情会让内心非常浮躁、烦闷,对我自己最好的办法是马上放下工作或其他手头上的事情,除非停工就会立即对客户带来损失,否则立即投身到大自然中,去骑行、散步、看看山、看看水,会使浮躁的情绪很快冷却,有时候在路上突然就灵感迸发、让我烦闷的事情就突然想开了。

遇到下雨之类天气不好的时候,我发现做做运动,比如趴下做几组俯卧撑、深蹲,然后练练字也能达到类似的效果,十几块好几本行楷的临摹本,如果像我一样只是偶尔烦闷时候平复情绪,够写两三个月,还能让写的字更漂亮!虽然现在做互联网行业几乎很少场合需要写字,最多签个名字,但如果有这样的机会,漂亮的字会让人眼前一亮,比如我就很佩服、喜欢字漂亮的人。

Proxmox+VE用于公有云、VPS的可靠性得到了很多同行长期的验证认可,整个生态环境也满足我的需求,所需功能也基本都能满足,所以我开始用PVE了。我考虑用本地存储,如果是用智简魔方的公有云平台,一般情况只有硬卡RAID10是最好方案;但PVE出现了多个方案,我挑了几个,但很犹豫哪个最合适我:ZFS-RAID-Z2、ZFS-RAID-Z3、ZFS-RAID10,以及硬卡RAID10。

- 阅读剩余部分 -

今天遇到一个很狗血的问题…有1台华为S6720-32X-LI-32S-AC万兆交换机,设备只跑了100Mbps左右,但交换机的统计却显示跑了7-8%,也就是800Mbps左右。

输入 dis mac-address 检查发现没有学习到任何mac地址,判断可能是流量泛洪。

MAC地址转发时,采用相同的HASH算法去查找对应的VLAN+MAC表项,如果无法找到对应的表项,则产生流量泛洪。

- 阅读剩余部分 -

基于mysubmail接口发送短信、电话语音通知。创建脚本后可以通过crontab -e每小时或半小时运行一次,例如:
/30 * python /etc/weed/checkRAID.py
可以在raid出现异常状态时快速获知及时处理,避免故障扩大。

# -*- coding: utf-8 -*-
#!/usr/bin/python
import os
import requests

node = '香港vps-nvmenode-1'
error = 0

def get_status(value):
    try:
        status = value.split(": ")
        return status[1].strip()
    except:
        return False
    

def send_warning():
    global node

    # 语音通知
    voice_url = 'http://api.mysubmail.com/voice/send.json'
    voice_params = { 'appid': '*****',
                      'to': '13200000000',
                      'content': '紧急事态:'+node+'硬盘状态异常,请立即检查',
                      'signature': '**************'
                   }
    #voice_res = requests.post(voice_url, data=voice_params)
    # print voice_res.text

    # 短信通知
    message_url = 'http://api.mysubmail.com/message/send.json'
    message_params = { 'appid': '*****',
                       'to': '13200000000',
                       'content': '【XXX】紧急事态:'+node+'硬盘状态异常,请立即检查',
                       'signature': '**************'
                     }
    message_res = requests.post(message_url, data=message_params)
    # print(message_res.text)


# 检查RAID状态,注意/dev/md10是变动参数,自行fdisk -l查看你的软列阵磁盘名称,如raid1则为/dev/md1
raidinfos = os.popen('mdadm -D /dev/md10').readlines()
for raidinfo in raidinfos:
    raidinfo = raidinfo.strip('\n')
    print(raidinfo)

    if "State : " in raidinfo:
        status = get_status(raidinfo)
        if status != 'active' and status != 'active, checking':
            error = 1

    if "Failed Devices : " in raidinfo:
        status = get_status(raidinfo)
        if status != '0':
            error = 1

    if "Active Devices : " in raidinfo:
        status = get_status(raidinfo)
        if status != '2':
            error = 1

# 发送通知
if error == 1:
    send_warning()