标签: RedHat

  • Red Hat Enterprise Linux 9.0 正式版发布

    Red Hat Enterprise Linux 9.0 正式版发布

    链接: https://pan.baidu.com/s/120lwyDFMWTdsWKymYMXUZg 提取码:wsdj

    File SHA-256
    rhel-baseos-9.0-x86_64-dvd.iso a387f3230acf87ee38707ee90d3c88f44d7bf579e6325492f562f0f1f9449e89
    rhel-baseos-9.0-x86_64-boot.iso 40c272e0dfad509ab2b088899d33ef6376a0280feaf53723a1bc42322068f699
    rhel-baseos-9.0-x86_64-kvm.qcow2 92862e085e4d5690cfa57de7155aa29bfdf21feec3d46dd4b61ca63293312af7
    virtio-win-1.9.25.iso 2b95e416daa471ae2765d27cac69bbb790ef1b7c5457f83d6d3e489f29e34aa9

    RHEL 9.0 的主要变化

    安全性

    在 RHEL 9 中弃用了将 SHA-1 消息摘要用于加密目的。SHA-1 生成的摘要不被视为安全,因为有很多记录的、基于查找哈希冲突的攻击。RHEL 核心加密组件不再默认使用 SHA-1 创建签名。RHEL 9 中的应用程序已更新,以避免在安全相关用例中使用 SHA-1。

    在例外中,仍然可以使用 SHA-1 创建 HMAC-SHA1 消息验证代码和 Universal Unique Identifier(UUID)值,因为这些用例目前不会产生安全风险。SHA-1 也可以在连接重要互操作性和兼容性问题(如 Kerberos 和 WPA-2)的有限情况下使用。如需了解更多详细信息,请参阅使用 与 FIPS 140-3 相符的 RHEL 应用程序 列表。

    有关仍需要 SHA-1 的系统兼容性问题的解决方案,请查看以下 KCS 文章:

    OpenSSL 现在在 3.0.1 中提供,它添加了一个提供程序概念、一个新的版本方案、一个改进的 HTTP(S)客户端,支持新协议、格式和算法以及许多其他改进。

    对系统范围的加密策略进行了调整,以提供最新的安全默认值。

    OpenSSH 在版本 8.7p1 中发布,它提供很多改进、错误修复和安全性改进,与版本 8.0p1 相比,它在 RHEL 8.5 中发布。

    SFTP 协议取代了 OpenSSH 中的之前使用 SCP/RCP 协议。SFTP 提供更可预测的文件名处理,不需要由远程端的 shell 扩展 glob(3) 模式。

    SELinux 性能显著提高,包括将 SELinux 策略加载到内核、内存开销和其他参数的时间。如需更多信息,请参阅验证 SELinux 博客文章的性能和空间效率

    RHEL 9 在上游版本 1.1 中提供 fapolicyd 框架。在其他改进中,您现在可以使用新的 rules.d/trust.d/ 目录、fagenrules 脚本和 fapolicyd-cli 命令的新选项。

    SCAP 安全指南(SSG)软件包在 0.1.60 版本中提供,它引入了 delta 定制、更新的安全配置集和其他改进。

    如需更多信息,请参阅 第 4.7 节 “安全性”

    在 DEFAULT 加密策略中限制使用 SHA-1 进行签名。除了 HMAC 外,TLS、DTLS、SSH、IKEv2、DNSSEC 和 Kerberos 协议中不再允许使用 SHA-1。

    如果您的场景需要使用 SHA-1 来验证现有或第三方加密签名,您可以输入以下命令启用它:

    # update-crypto-policies --set DEFAULT:SHA1
    

    或者,您可以将系统范围的加密策略切换到 LEGACY 策略。请注意,LEGACY 也启用了很多不安全的其他算法。

    Cyrus SASL 现在使用 GDBM 而不是 Berkeley DB,而网络安全服务(NSS)库不再支持信任数据库的 DBM 文件格式。

    在内核中删除了通过 /etc/selinux/config 文件中的 SELINUX=disabled 选项禁用 SELinux 的支持。当您只通过 /etc/selinux/config 禁用 SELinux 时,系统会在启用 SELinux 的情况下启动,但不会载入策略。如果您需要禁用 SELinux,请在内核命令行中添加 selinux=0 参数。

    有关 RHEL 9 和 RHEL 8 之间的安全区别的更多信息,请参阅 RHEL 9 文档中的安全性部分。https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/considerations_in_adopting_rhel_9/assembly_security_considerations-in-adopting-rhel-9

    网络

    您可以使用新的 MultiPath TCP 守护进程(mptcpd)配置 MultiPath TCP(MPTCP)端点,而无需使用 iproute2 实用程序。

    默认情况下,NetworkManager 现在使用密钥文件存储新的连接配置集。请注意,ifcfg 格式仍被支持。

    有关本版本中引入的功能以及现有功能更改的更多信息,请参阅 新功能 – 网络

    WireGuard VPN 技术现在作为技术预览提供。详情请查看 技术预览 – 网络

    teamd 服务和 libteam 库已弃用。作为替换,配置绑定而不是网络组。

    iptables-nftipset 已被弃用。这些软件包包括了相关的工具,如 iptablesip6tablesebtablesarptables。使用 nftables 框架配置防火墙规则。

    有关已弃用功能的更多信息,请参阅 已弃用功能 – 网络

    network-scripts 软件包已被删除。使用 NetworkManager 配置网络连接。有关不是 RHEL 一部分的功能的更多信息,请参阅使用 RHEL 9 文档中的 Networking 一节。

    动态编程语言、网页和数据库服务器

    RHEL 9.0 提供以下动态编程语言:

    • Node.js 16
    • Perl 5.32
    • PHP 8.0
    • Python 3.9
    • Ruby 3.0

    RHEL 9.0 包括以下版本控制系统:

    • Git 2.31
    • Subversion 1.14

    以下 web 服务器随 RHEL 9.0 一起发布:

    • Apache HTTP Server 2.4.51
    • nginx 1.20

    以下代理缓存服务器可用:

    • Varnish Cache 6.6
    • Squid 5.2

    RHEL 9.0 提供以下数据库服务器:

    • MariaDB 10.5
    • MySQL 8.0
    • PostgreSQL 13
    • Redis 6.2

    如需更多信息,请参阅 第 4.13 节 “动态编程语言、网页和数据库服务器”

    编译器和开发工具

    系统工具链

    RHEL 9.0 提供了以下系统工具链组件:

    • GCC 11.2.1
    • glibc 2.34
    • binutils 2.35.2

    RHEL 9 系统工具链组件包括对 POWER10 的支持。

    性能工具和调试器

    RHEL 9.0 提供了以下性能工具和调试器:

    • GDB 10.2
    • Valgrind 3.18.1
    • SystemTap 4.6
    • Dyninst 11.0.0
    • elfutils 0.186
    性能监控工具

    RHEL 9.0 有以下性能监控工具:

    • PCP 5.3.5
    • Grafana 7.5.11
    编译器工具集

    RHEL 9.0 提供以下编译器工具集:

    • LLVM Toolset 13.0.1
    • Rust Toolset 1.58.1
    • Go Toolset 1.17.7

    具体更改请查看 第 4.14 节 “编译器和开发工具”

    RHEL 9 中的 Java 实现

    RHEL 9 AppStream 软件仓库包括:

    • java-17-openjdk 软件包,提供 OpenJDK 17 Java 运行时环境和 OpenJDK 17 Java 软件开发组件。
    • java-11-openjdk 软件包,提供 OpenJDK 11 Java 运行时环境和 OpenJDK 11 Java 软件开发组件。
    • java-1.8.0-openjdk 软件包,提供 OpenJDK 8 Java 运行时环境和开源 JDK 8 Java 软件开发组件。

    如需更多信息,请参阅 OpenJDK 文档

    Java 工具

    RHEL 9.0 提供以下 Java 工具:

    • Maven 3.6
    • Ant 1.10

    如需更多信息,请参阅 第 4.14 节 “编译器和开发工具”

    虚拟化

    在 RHEL 9 中,libvirt 库使用 modular 守护进程来处理您主机上的单个虚拟化驱动程序集。这样便可对涉及虚拟化驱动程序的各种任务进行微调,如资源负载优化和监控。

    QEMU 模拟器现在使用 Clang 编译器构建。这可让 RHEL 9 KVM 管理程序使用许多高级安全和调试功能。其中一个功能是 SafeStack,它可以使在 RHEL 9 上托管的虚拟机(VM)显著减小了针对基于面向返回编程(ROP)的攻击风险。

    另外,虚拟受信任的平台模块(vTPM)现已获得全面支持。使用 vTPM,您可以将 TPM 虚拟加密处理器添加到虚拟机,然后可用于生成、存储和管理加密密钥。

    最后,virtiofs 功能已经实现,可用于更有效地在 RHEL 9 主机及其虚拟机间共享文件。

    转载请注明:爱开源 » Red Hat Enterprise Linux 9.0 正式版发布

  • Red Hat Enterprise Linux 7.8 发布 附下载地址

    Red Hat Enterprise Linux 7.8 发布 附下载地址

    Red Hat Enterprise Linux (RHEL) 7.8 已发布,这是 RHEL 7 系列的最新更新,目前正处于支持周期的 “维护阶段”。此次属于次要版本的更新,主要是继续提升稳定性和可靠性,而不是增加新功能。同样地在这个维护阶段,官方建议客户应该开始规划他们升级至 RHEL 8 的策略。

    红帽订阅允许用户部署适合其业务需求的版本。为了便于迁移到 Red Hat Enterprise Linux 8,红帽提供了包括现场升级在内的工具,可以精简和简化迁移过程。当 RHEL 8.2 宣布 GA 后,将有一个由 7.8 开始的升级路径。

    从 7.8 开始,红帽对 RHEL 7 系列的更新将仅限于错误修复和安全修复,因此上个版本 7.7 是最后一个增加功能的版本,主要内容包括:

    • Red Hat Enterprise Linux 7.7 为构建用于在所有主要公共云上使用的云映像提供了完全的支持
    • Red Hat Container Toolkit 现在完全支持 RHEL 7.7 工作站
    • 该版本支持内核实时修补,以及其他各种主要针对云的改进
    • RHEL 7.7 还增加了 MDS/Zombieload 缓解和切换,默认情况下使用 REtpolines 作为 Spectre Variant 的两种缓解措施

    详情查看 RHEL 7.8 的发布说明

    https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/7.8_release_notes/overview

    安全

    SCAP安全指南现在提供符合澳大利亚网络安全中心(ACSC)基本八成熟度模型的配置文件。

    See Section 4.11, “Security” for more information.

    桌面

    GNOME Classic环境中的工作区切换器已被修改。 现在,该切换器位于底部栏的右侧,它被设计为水平的缩略图带。 通过单击所需的缩略图可以在工作空间之间切换。 有关详细信息,请参见 Section 4.5, “Desktop”

    下载地址:https://access.redhat.com/downloads/

    百度网盘: https://pan.baidu.com/s/1-jScJUWgRFkdx32ppb8hvw 提取码: z5f5

    转发: https://www.ithothub.com/viewpoint_today/202004031418677.html

    转载请注明:爱开源 » Red Hat Enterprise Linux 7.8 发布 附下载地址

  • CentOS 7/8 Systemd 劫持 SysVinit

    CentOS 7/8 Systemd 劫持 SysVinit

    CentOS 7 以后版本,已经使用 systemd 替换 sysvinit。所以 CentOS 6 之前版本 sysvinit 迁移到 CentOS 7 以后版本会被 systemd 替换掉,比如

    centos 6

     # cat /etc/redhat-release
    CentOS release 6.9 (Final)
     # /etc/init.d/memcached restart
    Stopping memcached.:                                       [  OK  ]
    Starting memcached.:                                       [  OK  ]
    

    centos 7

     # cat /etc/redhat-release
    CentOS Linux release 7.7.1908 (Core)
     # /etc/init.d/memcached restart
    Restarting memcached (via systemctl):                      [  OK  ]
    

    就变成 systemctl 调用,导致服务启动异常。

    原因

    /etc/init.d/memcached 加载了 /etc/rc.d/init.d/functions

     # cat /etc/init.d/memcached | grep functi
    # Source function library
    . /etc/rc.d/init.d/functions
    

    解决

     # cat /etc/rc.d/init.d/functions
    if [ $PPID -ne 1 -a -z "$SYSTEMCTL_SKIP_REDIRECT" ] && \
            [ -d /run/systemd/system ] ; then
        case "$0" in
        /etc/init.d/*|/etc/rc.d/init.d/*)
            _use_systemctl=1
            ;;
        esac
    fi
    

    只要 SYSTEMCTL_SKIP_REDIRECT 变量存在即可,就不会调用 _use_systemctl=1

    方法一 (推荐)

     # cat /etc/redhat-release
    CentOS Linux release 7.7.1908 (Core)
     # SYSTEMCTL_SKIP_REDIRECT=1 /etc/init.d/memcached restart
    Stopping memcached.:                                       [  OK  ]
    Starting memcached.:                                       [  OK  ]
    

    方法二

    直接修改 /etc/init.d/memcached. /etc/rc.d/init.d/functions 之前添加 SYSTEMCTL_SKIP_REDIRECT=1

    转载请注明:爱开源 » CentOS 7/8 Systemd 劫持 SysVinit

  • RHEL 8 限制与生命周期

    RHEL 8 限制与生命周期

    RHEL 8 限制

    x86_64 RHEL 7 RHEL 8
    最大逻辑 CPU 数量 768 [5120]~14 768 [8192]
    最大内存 12TB [64TB]~12 24TB [64TB]
    最低内存要求 最小 1GB, 推荐每个逻辑 CPU 使用 1 GB~18 最小1.5GB, 推荐每个逻辑 CPU 使用 1.5GB18
    最低所需的磁盘空间 最少 10GB, 推荐 20GB 最少 10GB, 推荐 20GB
    文件系统和存储限制 Ext3 16TB 16TB
    文件系统和存储限制 Ext4 50TB [1EB] 50TB [1EB]
    文件系统和存储限制 XFS 500TB [16EB] 1PB
    Kernel foundation 3.10 4.18
    Compiler/toolchain GCC 4.8.2 GCC 8.2.1
    Desktop GUI Gnome 3.8 Gnome 3.28
    默认浏览器 Firefox 24.5 Firefox 60.5.1
    Python 2.7.5 3.6.8
    Perl 5.16.3 5.26.3
    yum 3.4.3 4.0.9
    Git 1.8.3 2.18.1
    Apache 2.4.6 2.4.37
    1. 支持 12TB 内存需要 Red Hat Enterprise Linux 7.2。Red Hat Enterprise Linux 7.1 可以最多支持 6TB 内存。 Red Hat Enterprise Linux 7 的早期版本(如 Red Hat Enterprise Linux 7.0)可以最多支持 3TB 内存。
    2. 对 448 个 CPU 的支持需要 Red Hat Enterprise Linux 6.7 或更新的版本。以前对于较早版本所支持的最大 CPU 数量为 288 个 CPU。
    3. 对 768 个 CPU 的支持需要带有勘误内核 3.10.0-514.26.2.el7 或更新版本的 Red Hat Enterprise Linux 7.3。对 576 个 CPU 的支持需要带有勘误内核 3.10.0-327.18.2.el7 或更新版本的 Red Hat Enterprise Linux 7.2。对 384 个 CPU 的支持需要 Red Hat Enterprise Linux 7.2 或更新版本。以前对于较早版本所支持的最大 CPU 数量为 288 个 CPU。此外,对于7.2 或更高版本,请参考以下红帽知识库文章:Memory swap occurs while the pagecache is reclaimed.

    https://access.redhat.com/zh_CN/support/policy/updates/errata

    RHEL 生命周期

    提供 12 年 支持

    计划发布 8 个版本

    建议从 8.1 开始用于生产系统

    转载请注明:爱开源 » RHEL 8 限制与生命周期

  • Red Hat Enterprise Linux for x86_64 Beta 免费下载

    Red Hat Enterprise Linux for x86_64 Beta 免费下载

    Red Hat Enterprise Linux 8.0 Beta Boot ISO
    最新修改的: 2018-11-14 SHA-256 Checksum: 38fb343316483f2307f6a6689e06c7d0ab9a09d6661ce5dad04d24a010965f99
    540.0 MB

    Red Hat Enterprise Linux 8.0 Beta Binary DVD
    最新修改的: 2018-11-14 SHA-256 Checksum: 06bec9e7de3ebfcdb879804be8c452b69ba3e046daedac3731e1ccd169cfd316
    6.5 GB

    Red Hat Enterprise Linux 8.0 Beta KVM Guest Image
    最新修改的: 2018-11-14 SHA-256 Checksum: dcd5b13acb8ca8ae3a7a9a070041aa4cf2637eefc9f3bbd6df968abc9199493a
    901.1 MB

    RHEL 8.0.0 Supplementary Beta Binary DVD
    最新修改的: 2018-11-08 SHA-256 Checksum: 2a29cc803b8b3838c4b175a0a993174ca0ac14e18af1595868114745af244b48
    186.9 MB

    百度网盘下载 https://pan.baidu.com/s/1hzW9mTWV2VzjpgBdN1xb0w

    Red Hat Enterprise Linux 8 Beta 现已发布!

    该版本的构建考虑了生产环境稳定性和开发灵活性。

    关于 RHEL 8 Beta 还有很多话要说,但这里想把重点放在公司宣布的几点上,该公告强调 Red Hat Enterprise Linux 8 Beta 将作为开发者平台:

    • 简化应用程序开发 —— 通过减少设置和配置工作,可以更快地编写代码
    • 对于刚接触 Linux 的开发者来说,这是最简单的 RHEL
    • 适用于传统和云/容器的应用程序,两者都有许多新工具
    • 已经提供了许多工具来构建和测试应用程序

    下载

    有三种方法可以访问 RHEL 8 beta,这取决于与 Red Hat 的现有关系:

    1. Current Red Hat Developer members can login and download today at Red Hat Developer.
    2. If you’re not a Red Hat Developer member, sign-up (it’s free and easy to do) and download RHEL 8 beta.
    3. If you’re a current Red Hat Enterprise Linux corporate customer, log into the Customer Portal to participate in the RHEL 8 customer beta.

    详情 https://developers.redhat.com/blog/2018/11/15/red-hat-enterprise-linux-8-beta-is-here/

    转载请注明:爱开源 » Red Hat Enterprise Linux for x86_64 Beta 免费下载

  • Red Hat Enterprise Linux 8.0 Beta 免费下载

    Red Hat Enterprise Linux 8.0 Beta 免费下载

    Red Hat Enterprise Linux 8.0 Beta Boot ISO
    最新修改的: 2018-11-14 SHA-256 Checksum: 38fb343316483f2307f6a6689e06c7d0ab9a09d6661ce5dad04d24a010965f99
    540.0 MB

    Red Hat Enterprise Linux 8.0 Beta Binary DVD
    最新修改的: 2018-11-14 SHA-256 Checksum: 06bec9e7de3ebfcdb879804be8c452b69ba3e046daedac3731e1ccd169cfd316
    6.5 GB

    Red Hat Enterprise Linux 8.0 Beta KVM Guest Image
    最新修改的: 2018-11-14 SHA-256 Checksum: dcd5b13acb8ca8ae3a7a9a070041aa4cf2637eefc9f3bbd6df968abc9199493a
    901.1 MB

    RHEL 8.0.0 Supplementary Beta Binary DVD
    最新修改的: 2018-11-08 SHA-256 Checksum: 2a29cc803b8b3838c4b175a0a993174ca0ac14e18af1595868114745af244b48
    186.9 MB

    百度网盘下载 https://pan.baidu.com/s/1hzW9mTWV2VzjpgBdN1xb0w

    Red Hat Enterprise Linux 8 Beta 现已发布!

    该版本的构建考虑了生产环境稳定性和开发灵活性。

    关于 RHEL 8 Beta 还有很多话要说,但这里想把重点放在公司宣布的几点上,该公告强调 Red Hat Enterprise Linux 8 Beta 将作为开发者平台:

    • 简化应用程序开发 —— 通过减少设置和配置工作,可以更快地编写代码
    • 对于刚接触 Linux 的开发者来说,这是最简单的 RHEL
    • 适用于传统和云/容器的应用程序,两者都有许多新工具
    • 已经提供了许多工具来构建和测试应用程序

    下载

    有三种方法可以访问 RHEL 8 beta,这取决于与 Red Hat 的现有关系:

    1. Current Red Hat Developer members can login and download today at Red Hat Developer.
    2. If you’re not a Red Hat Developer member, sign-up (it’s free and easy to do) and download RHEL 8 beta.
    3. If you’re a current Red Hat Enterprise Linux corporate customer, log into the Customer Portal to participate in the RHEL 8 customer beta.

    详情 https://developers.redhat.com/blog/2018/11/15/red-hat-enterprise-linux-8-beta-is-here/

    转载请注明:爱开源 » Red Hat Enterprise Linux 8.0 Beta 免费下载

  • qcow2、raw、vmdk等镜像格式

    一直纠结在做虚拟化使用什么镜像格式,刚刚开始用了raw的file,后来发现LVM的很多特性对于虚拟化还是有比较理想的能力,而且性能也很不错就用了LVM。后来被VMware骗了跑去搞Esxi接触了VMDK,最近研究openstack发现了qcow2格式,貌似现在很流行呀。也说不上分析这些镜像格式的能力,就简单说说自己的一些使用心得。

    目前主要有那些格式来作为虚拟机的镜像:
    raw
    (default) the raw format is a plain binary image of the disc image, and is very portable. On filesystems that support sparse files, images in this format only use the space actually used by the data recorded in them.
    老牌的格式了,用一个字来说就是裸,也就是赤裸裸,你随便dd一个file就模拟了一个raw格式的镜像。由于裸的彻底,性能上来说的话还是不错的。目前来看,KVM和XEN默认的格式好像还是这个格式。因为其原始,有很多原生的特性,例如直接挂载也是一件简单的事情。
    裸的好处还有就是简单,支持转换成其它格式的虚拟机镜像对裸露的它来说还是很简单的(如果其它格式需要转换,有时候还是需要它做为中间格式),空间使用来看,这个很像磁盘,使用多少就是多少(du -h看到的大小就是使用大小),但如果你要把整块磁盘都拿走的话得全盘拿了(copy镜像的时候),会比较消耗网络带宽和I/O。接下来还有个有趣的问题,如果那天你的硬盘用着用着不够用了,你咋办,在买一块盘。但raw格式的就比较犀利了,可以在原来的盘上追加空间:
    dd if=/dev/zero of=zeros.raw bs=1024k count=4096(先创建4G的空间)
    cat foresight.img zeros.raw > new-foresight.img(追加到原有的镜像之后)
    当然,好东西是吹出来的,谁用谁知道,还是有挺多问题的。由于原生的裸格式,不支持snapshot也是很正常的。传说有朋友用版本管理软件对raw格式的文件做版本管理从而达到snapshot的能力,估计可行,但没试过,这里也不妄加评论。但如果你使用LVM的裸设备,那就另当别论。说到LVM还是十分的犀利的,当年用LVM做虚拟机的镜像,那性能杠杠的。而且现在好多兄弟用虚拟化都采用LVM来做的。在LVM上做了很多的优化,国外听说也有朋友在LVM增量备份方面做了很多的工作。目前来LVM的snapshot、性能、可扩展性方面都还是有相当的效果的。目前来看的话,备份的话也问题不大。就是在虚拟机迁移方面还是有很大的限制。但目前虚拟化的现状来看,真正需要热迁移的情况目前需求还不是是否的强烈。虽然使用LVM做虚拟机镜像的相关公开资料比较少,但目前来看牺牲一点灵活性,换取性能和便于管理还是不错的选择。

    对于LVM相关的特性及使用可以参考如下链接:

    http://www.ibm.com/developerworks/linux/library/l-lvm2/index.html

    cow
    copy-on-write format, supported for historical reasons only and not available to QEMU on Windows
    曾经qemu的写时拷贝的镜像格式,目前由于历史遗留原因不支持窗口模式。从某种意义上来说是个弃婴,还没得它成熟就死在腹中,后来被qcow格式所取代。

    qcow
    the old QEMU copy-on-write format, supported for historical reasons and superseded by qcow2

    一代的qemu的cow格式,刚刚出现的时候有比较好的特性,但其性能和raw格式对比还是有很大的差距,目前已经被新版本的qcow2取代。其性能可以查看如下链接:
    http://www.linux-kvm.org/page/Qcow2

    qcow2
    QEMU copy-on-write format with a range of special features, including the ability to take multiple snapshots, smaller images on filesystems that don’t support sparse files, optional AES encryption, and optional zlib compression
    现在比较主流的一种虚拟化镜像格式,经过一代的优化,目前qcow2的性能上接近raw裸格式的性能,这个也算是redhat的官方渠道了,哈哈,希望有朋友能拍他们砖:

    https://fedoraproject.org/wiki/Features/KVM_qcow2_Performance

    对于qcow2的格式,几点还是比较突出的,qcow2的snapshot,可以在镜像上做N多个快照:

    更小的存储空间,即使是不支持holes的文件系统也可以(这下du -h和ls -lh看到的就一样了)
    Copy-on-write support, where the image only represents changes made to an underlying disk image(这个特性SUN ZFS表现的淋漓尽致)
    支持多个snapshot,对历史snapshot进行管理
    支持zlib的磁盘压缩
    支持AES的加密

    vmdk

    VMware 3 & 4, or 6 image format, for exchanging images with that product
    VMware的格式,这个格式说的蛋疼一点就有点牛X,原本VMware就是做虚拟化起家,自己做了一个集群的VMDK的pool,做了自己的虚拟机镜像格式。又拉着一些公司搞了一个OVF的统一封包。从性能和功能上来说,vmdk应该算最出色的,由于vmdk结合了VMware的很多能力,目前来看,KVM和XEN使用这种格式的情况不是太多。但就VMware的Esxi来看,它的稳定性和各方面的能力还是可圈可点。

    vdi
    VirtualBox 1.1 compatible image format, for exchanging images with VirtualBox.
    style=”color: #000000;”>SUN收购了VirtualBox,Oracle又收购了SUN,这么说呢,vdi也算虚拟化这方面的一朵奇葩,可惜的是入主的两家公司。SUN太专注于技术(可以说是IT技术最前端也不为过),Oracle又是开源杀手(mysql的没落)。单纯从能力上来说vdi在VirtualBox上的表现还是不错的。也是不错的workstation级别的产品。

    说了这么多虚拟机镜像格式,这么多虚拟化,做云计算的伤不起呀,得为长期发展考虑,也有朋友对镜像的转换做了很多事情,简单看看几种镜像的转化:

    VMDK–>qcow2:

    kevin@kevin:~# qemu-img convert -f vmdk -O qcow2 SLES11SP1-single.vmdk SLES11SP1-single.img

    http://www.ibm.com/developerworks/cn/linux/l-cn-mgrtvm3/index.html

    qcow2–>raw:

    kevin@kevin:~$ qemu-img convert -O qcow2 image-raw.raw image-raw-converted.qcow

    转载请注明:爱开源 » qcow2、raw、vmdk等镜像格式

  • 使用系统的原则

    小企业(还不能与提供系统的上游企业相提并论的企业)构建自己的基础系统环境的原则

    原则0:
    选用一种“Linux发行来构建“生产环境”,不要多版本混用,更不允许换来换去。
    个人建议使用基于RHEL的发行——CentOS。
    之后的一切“原则”、“实践方法”默认指“在CentOS环境下”。

    为什么:
    什么是企业版?什么是生产力?
    Linux的世界充满了“折腾”,我们要的是生产力,不是”折腾”,更不是“学习环境”和“炫耀的资本”。
    以我的经验来说,选择RHEL/CentOS,没错——诚恳推荐,绝不装X!

    原则1:
    使用系统、依赖系统;不修改系统、破坏系统。
    不允许修改系统上“除了配置文件”以外的任何文件。
    这里说的系统是指系统的发行,以及官方承认的epel源。(这是我们承认的“系统”)

    为什么:
    会破坏系统的“一致性”、“完整性”,导致系统的部分、或全部功能运行不正常。

    原则2:
    尽最大可能,不使用root账号,不使用root的特权。
    有很多事情,都不需要root权限,特别是“非Sa角色”做的事情。假如不是,那应该是没有用对方法。
    本原则其实是为了有效避免违返原则1的事情发生。

    为什么:
    可以避免系统被破坏。大家用root习惯成自然了,生产环境不应该如此。

    原则3:
    使用系统的方法以 系统手册(man、info)、系统文档(/usr/share/doc)、以及官方文档(http://docs.redhat.com/) 为最高指导。
    遇到问题时,先通过这三个“信息源”查找解决问题的方法。
    通过google解决问题很快,但通常都是表面的,除非是那种长篇大论的文档或者论文——只提供思想、方法,不提供具体步骤。

    为什么:
    就目前而言,google来的方法,通常都只是就事论事,考虑的不够长远,不够宏观。“这样使用系统”,会让系统变得“复杂”甚至“导致系统不可用”,破坏系统的部分、或者全部,降低系统的可运维性。
    系统手册这种最权威的文档,之所以不“流行”是因为不是“step by step“的,需要上下翻找,长篇大论……需要理解才能找到解决之道。这更说明了,读”手册“才是正道。

    总结:
    以“第三方”的形式、心态使用系统。要么依赖系统,要么自己打造自己的环境,但绝不允许“修改系统”。一定有一种方式,是两者可以共存的,这种形式,才是最好的形式。
    有个名词叫“路径依赖”,没有上面的“原则”,运维将走上不归路!(人个观点,仅供参考)

    转载请注明:爱开源 » 使用系统的原则

  • rpm打包

    这里 http://www.bsdmap.com/tech-manual/rhel/ 已经提供了若干“rpm打包”相关的信息。
    spec文件指南How to create an RPM package/zh-cnRPM GuideRed Hat Software Test SuiteRed Hat Software Collections
    Maximum RPM

    关于scripts的执行顺序,“笔记”一下(参考):

    rpm安装/rpm -i
    1. 先执行%pre
    2. 安装文件
    3. 再执行%post

    rpm删除/rpm -e
    1. 先执行%preun
    2. 删除文件
    3. 再执行%postun

    rpm更新/rpm -U
    1. 新包的 %pretrans
    2. 新包的 %pre
    3. 软件包安装
    4. 新包的 %post
    5. 旧包的 %preun
    6. 移除旧包
    7. 旧包的 %postun
    8. 新包的 %posttrans

    关于升级、卸载的判断:

    https://zh.opensuse.org/openSUSE:Packaging_scriptlet_snippets

    rpm-scripts1

    转载请注明:爱开源 » rpm打包

  • 怎样在Linux下从源代码安装SQLite3,在redhat安装gearman

    SQLite3是一个极轻型的独立的无服务器的SQL数据库引擎。1

    你不需要做任何的配置来使其工作。所有你需要的就是安装它并开始使用它。

    既然是无服务器的,它被用在很多你所使用的著名的软件中,甚至你可能并不知道那些软件正在使用它。看看下面的例子所有的大公司正在使用SQLiete.PUP编程语言内嵌了SQLite数据库于其中。

    如果你从来没有使用过SQLite,按照下面的文章中所提到的步骤安装在Linux上,并且创建了一个例子数据库。

    下载SQLite3源代码
    去SQLite下载页面,并点击“sqlite-autoconf-3070603.tar.gz”(在源代码部分),并下载到你的系统中。或者使用wget直接从服务器下载就像下面。

    wget http://www.sqlite.org/2014/sqlite-autoconf-3080704.tar.gz

    安装 SQLite3
    Uncompress the tar.gz file and install SQLite3 as shown below.

    解压tar.gz文件并像下面所示安装

    tar xvfz sqlite-autoconf-3080704.tar.gz
    cd sqlite-autoconf-3080704
    ./configure
    make
    make install

    make安装命令后会有以下的输出。

    test -z “/usr/local/bin” || mkdir -p — “/usr/local/bin”
    ./libtool –mode=install /usr/bin/install -c sqlite3 /usr/local/bin/sqlite3
    /usr/bin/install -c .libs/sqlite3 /usr/local/bin/sqlite3
    test -z “/usr/local/include” || mkdir -p — “/usr/local/include”
    /usr/bin/install -c -m 644 ‘sqlite3.h’ ‘/usr/local/include/sqlite3.h’
    /usr/bin/install -c -m 644 ‘sqlite3ext.h’ ‘/usr/local/include/sqlite3ext.h’
    test -z “/usr/local/share/man/man1″ || mkdir -p — “/usr/local/share/man/man1″
    /usr/bin/install -c -m 644 ‘./sqlite3.1′ ‘/usr/local/share/man/man1/sqlite3.1′
    test -z “/usr/local/lib/pkgconfig” || mkdir -p — “/usr/local/lib/pkgconfig”
    /usr/bin/install -c -m 644 ‘sqlite3.pc’ ‘/usr/local/lib/pkgconfig/sqlite3.pc’

    提示:如果你对mysql数据库有兴趣,你也可以安装在你的系统中。

    在redhat安装gearman,在make的时候,报错,怎么解决的办法:
    [root@test gearmand-1.1.12]# make
    make -j9 all-am
    make[1]: Entering directory /home/xiangdong/software/gearmand-1.1.12′
    CXX libgearman-server/plugins/queue/sqlite/libgearman_server_libgearman_server_la-instance.lo
    libgearman-server/plugins/queue/sqlite/instance.cc: In member function ‘bool gearmand::queue::Instance::_sqlite_prepare(const std::string&, sqlite3_stmt**)':
    libgearman-server/plugins/queue/sqlite/instance.cc:125: error: ‘sqlite3_prepare_v2′ was not declared in this scope
    libgearman-server/plugins/queue/sqlite/instance.cc: In member function ‘gearmand_error_t gearmand::queue::Instance::init()':
    libgearman-server/plugins/queue/sqlite/instance.cc:224: error: ‘SQLITE_OPEN_READWRITE’ was not declared in this scope
    libgearman-server/plugins/queue/sqlite/instance.cc:224: error: ‘SQLITE_OPEN_CREATE’ was not declared in this scope
    libgearman-server/plugins/queue/sqlite/instance.cc:224: error: ‘sqlite3_open_v2′ was not declared in this scope
    make[1]: *** [libgearman-server/plugins/queue/sqlite/libgearman_server_libgearman_server_la-instance.lo] Error 1
    make[1]: Leaving directory
    /home/xiangdong/software/gearmand-1.1.12′
    make: *** [all] Error 2

    删除了系统原带的sqlite3 ,到官网上下一个源码,重新编译安装sqlite3。

    如:
    把sqlite3安装到 /usr/local/sqlite3
    tar zxf sqlite3.xxxx.tar.gz
    cd sqlite.3.xxxx
    ./configura –prefix=/usr/local/sqlite3
    make && make install
    cd ..

    最后在编译Gearman时带上 –with-sqlite3=/usr/local/sqlite3,告诉编译器应该使用这个新的sqlite即可。

    实践如下:

    ./configure –prefix=/usr/local/sqlite3

    make && make install

    转载请注明:爱开源 » 怎样在Linux下从源代码安装SQLite3,在redhat安装gearman